Mit Java:
Ich habe eine byte[]
, die eine Datei darstellt.
Wie schreibe ich das in eine Datei (dh C:\myfile.pdf
)
Ich weiß, dass es mit InputStream gemacht wurde, aber ich kann es scheinbar nicht herausfinden.
Verwenden Sie Apache Commons IO
FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)
Oder wenn Sie darauf bestehen, Arbeit für sich selbst zu machen ...
try (FileOutputStream fos = new FileOutputStream("pathname")) {
fos.write(myByteArray);
//fos.close(); There is no more need for this line since you had created the instance of "fos" inside the try. And this will automatically close the OutputStream
}
try {} finally {}
, um eine ordnungsgemäße Ressourcenbereinigung sicherzustellen.Ohne Bibliotheken:
Mit Google Guava :
Mit Apache Commons :
Alle diese Strategien erfordern, dass Sie auch irgendwann eine IOException abfangen.
quelle
Eine andere Lösung mit
java.nio.file
:quelle
C:\myfile.pdf
sowieso nicht, dass es auf Android funktionieren würde ...;)Auch seit Java 7 eine Zeile mit java.nio.file.Files:
Wobei Daten Ihr Byte [] und filePath ein String ist. Sie können mit der StandardOpenOptions-Klasse auch mehrere Optionen zum Öffnen von Dateien hinzufügen. Fügen Sie Würfe oder Surround mit try / catch hinzu.
quelle
Paths.get(filePath);
anstelle vonnew File(filePath).toPath()
Ab Java 7 können Sie die Anweisung try-with-resources verwenden , um Ressourcenlecks zu vermeiden und das Lesen Ihres Codes zu vereinfachen. Mehr dazu hier .
Um Ihre
byteArray
in eine Datei zu schreiben , würden Sie tun:quelle
Versuchen Sie es mit einem
OutputStream
oder genauerFileOutputStream
quelle
Eigentlich würden Sie in eine Dateiausgabe schreiben ...
quelle
quelle
/////////////////////////// 1] File to Byte [] /////////////////////// // //
//////////////////////// 2] Byte [] zur Datei ///////////////////// ///////
quelle
Grundlegendes Beispiel:
quelle
Dies ist ein Programm, in dem wir mit dem String Builder ein Array mit einem Versatz und einer Länge von Bytes lesen und drucken und das Array mit einer versetzten Länge von Bytes in die neue Datei schreiben.
` Geben Sie hier den Code ein
O / P in der Konsole: fghij
O / P in neuer Datei: cdefg
quelle
Sie können Kakteen ausprobieren :
Weitere Details: http://www.yegor256.com/2017/06/22/object-oriented-input-output-in-cactoos.html
quelle