Tag: filechannel

In Java-FileChannel ist eine abstrakte Klasse zum Lesen, schreiben, zuordnen, und Bearbeiten Sie eine Datei

Verhindern OutOfMemory bei der Verwendung von java.nio.MappedByteBuffer

Anzahl der Antworten 4 Antworten
Betrachten-Anwendung, die 5-6 threads, jeder thread in dem Zyklus zuordnen MappedByteBuffer für 5mb die Größe der Seite. MappedByteBuffer b = ch.map(FileChannel.MapMode.READ_ONLY, r, 1024*1024*5); Früher oder später, wenn die Anwendung funktioniert mit großen Dateien, oom ausgelöst java.io.IOException: Map

Java NIO MappedByteBuffer OutOfMemoryException

Anzahl der Antworten 4 Antworten
Bin ich wirklich ein Problem: ich Lesen möchte GROßE Dateien über mehrere GB mit FileChannels und MappedByteBuffers - alle Unterlagen, die ich gefunden impliziert, ist es ziemlich einfach zu Karte eine Datei mit der FileChannel.map() Methode. Natürlich

Lesen von Objekten aus Random-Access-Datei

Anzahl der Antworten 4 Antworten
Schrieb ich eine Datei mit Java FileChannel-Klasse, die verwendet RandomAccessFiles. Ich schrieb von Objekten an verschiedenen Standorten in der Datei. Die Objekte wurden von Variablen Größen, aber alle von der gleichen Klasse. Ich schrieb die Objekte mithilfe

Bufferunderflowexception Java

Anzahl der Antworten 2 Antworten
Schreibe ich Werte in eine Datei. Die Werte geschrieben werden, zu korrigieren. In einer anderen Anwendung kann ich die Datei Lesen, ohne Ausnahmen. Aber in meiner neuen Anwendung, bekomme ich eine Bufferunderflowexception wenn Sie versuchen, die Datei

Mit FileChannel zu schreiben InputStream?

Anzahl der Antworten 2 Antworten
Kann ich schreiben InputStream in einen FileChannel? Ich bin mit java.nio.- Kanäle.FileChannel um eine Datei zu öffnen und zu sperren, dann schreiben Sie einen InputStream, um die Ausgabe-Datei. Der InputStream geöffnet werden kann durch eine andere Datei,

Das Lesen einer ASCII-Datei mit FileChannel und ByteArrays

Anzahl der Antworten 6 Antworten
Ich habe den folgenden code: String inputFile = "somefile.txt"; FileInputStream in = new FileInputStream(inputFile); FileChannel ch = in.getChannel(); ByteBuffer buf = ByteBuffer.allocateDirect(BUFSIZE); //BUFSIZE = 256 /* read the file into a buffer, 256 bytes at a time