So verwenden Sie java.nio.channels.filechannel, um ein Byte [] in eine Datei zu schreiben - Grundlagen
Posted: 12 Apr 2025, 15:10
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>
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.>
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