Page 1 of 1

So verwenden Sie java.nio.channels.filechannel, um ein Byte [] in eine Datei zu schreiben - Grundlagen

Posted: 12 Apr 2025, 15:10
by Anonymous
Ich habe keine Erfahrung mit Java -Kanälen. Ich möchte eine Byte -Array in eine Datei schreiben. Derzeit habe ich den folgenden Code: < /p>

Code: Select all

String outFileString = DEFAULT_DECODED_FILE; // Valid file pathname
FileSystem fs = FileSystems.getDefault();
Path fp = fs.getPath(outFileString);

FileChannel outChannel = FileChannel.open(fp, EnumSet.of(StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE));

// Please note: result.getRawBytes() returns a byte[]
ByteBuffer buffer = ByteBuffer.allocate(result.getRawBytes().length);
buffer.put(result.getRawBytes());

outChannel.write(buffer); // File successfully created/truncated, but no data
< /code>

Mit diesem Code wird die Ausgabedatei erstellt und abgeschnitten, wenn sie existiert.  Außerdem kann ich im Intellij -Debugger sehen, dass Puffer 
Daten enthält. Außerdem wird die Linie outhannel.write () erfolgreich aufgerufen, ohne eine Ausnahme zu werfen. Nachdem das Programm beendet ist, werden die Daten jedoch nicht in der Ausgabedatei angezeigt.>