Dengan Java:
Saya memiliki file byte[]
yang mewakili.
Bagaimana saya menulis ini ke file (mis. C:\myfile.pdf
)
Saya tahu ini sudah selesai dengan InputStream, tapi sepertinya saya tidak bisa menyelesaikannya.
Gunakan Apache Commons IO
FileUtils.writeByteArrayToFile(new File("pathname"), myByteArray)
Atau, jika Anda bersikeras membuat pekerjaan untuk diri sendiri ...
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 {}
untuk memastikan pembersihan sumber daya yang tepat.Tanpa perpustakaan:
Dengan Google Guava :
Dengan Apache Commons :
Semua strategi ini mengharuskan Anda menangkap IOException di beberapa titik juga.
sumber
Solusi lain menggunakan
java.nio.file
:sumber
C:\myfile.pdf
akan bekerja pada Android ...;)Juga sejak Java 7, satu baris dengan java.nio.file.Files:
Di mana data adalah byte Anda [] dan filePath adalah sebuah String. Anda juga dapat menambahkan beberapa opsi buka file dengan kelas StandardOpenOptions. Tambahkan lemparan atau surround dengan try / catch.
sumber
Paths.get(filePath);
sebagai gantinyanew File(filePath).toPath()
Dari Java 7 dan seterusnya Anda dapat menggunakan pernyataan coba-dengan-sumber daya untuk menghindari kebocoran sumber daya dan membuat kode Anda lebih mudah dibaca. Lebih lanjut tentang itu di sini .
Untuk menulis Anda
byteArray
ke file yang akan Anda lakukan:sumber
Coba
OutputStream
atau lebih khususFileOutputStream
sumber
Sebenarnya, Anda akan menulis ke file output ...
sumber
sumber
////////////////////////// 1] File ke Byte [] ///////////////// //
/////////////////////// 2] Byte [] ke File //////////////////// ///////
sumber
Contoh dasar:
sumber
Ini adalah program di mana kita membaca dan mencetak array byte dan panjang offset menggunakan String Builder dan Menulis array byte panjang offset ke file baru.
` Masukkan kode di sini
O / P dalam konsol: fghij
O / P dalam file baru: cdefg
sumber
Anda dapat mencoba Cactoos :
Lebih detail: http://www.yegor256.com/2017/06/22/object-oriented-input-output-in-cactoos.html
sumber