Menukar Fail kepada Tatasusunan Byte dalam Java
Penukaran tatasusunan java.io.File kepada bait[] dalam Java memainkan peranan penting dalam pelbagai senario, seperti penyimpanan fail, rangkaian dan manipulasi data. Untuk melaksanakan tugas ini, platform Java menawarkan pelbagai pendekatan.
Files.readAllBytes(Path)
Sehingga JDK 7, Files. kaedah readAllBytes(Path) muncul sebagai penyelesaian yang mudah. Ia memerlukan objek Path yang mewakili fail sebagai input dan mengembalikan tatasusunan bait[] yang mengandungi kandungan fail.
import java.io.File; import java.nio.file.Files; File file; // ...(file is initialised)... byte[] fileContent = Files.readAllBytes(file.toPath());
Kaedah ini menyediakan cara yang ringkas dan cekap untuk menukar fail kepada tatasusunan bait.
Strim Input Data
Sebelum JDK 7, kaedah tradisional terlibat menggunakan FileInputStream dan DataInputStream untuk membaca kandungan fail. Berikut ialah contoh:
FileInputStream inputStream = new FileInputStream(file); DataInputStream dataInputStream = new DataInputStream(inputStream); byte[] fileContent = dataInputStream.readAllBytes();
Pendekatan ini memerlukan lebih banyak kod dan pengendalian sumber tambahan.
Pelaksanaan Tersuai
Dalam senario di mana kedua-dua perkara di atas tidak penyelesaian adalah sesuai, seseorang boleh mencipta penyelesaian tersuai. Coretan kod berikut menunjukkan pelaksanaan asas:
import java.io.FileInputStream; import java.io.IOException; File file; // ...(file is initialised)... // Read the entire file into a byte array byte[] fileContent = new byte[(int) file.length()]; FileInputStream inputStream = new FileInputStream(file); int bytesRead = inputStream.read(fileContent); inputStream.close();
Kesimpulan
Pilihan pendekatan bergantung pada keperluan khusus dan keserasian dengan versi Java. Files.readAllBytes(Path) menonjol sebagai pilihan yang paling mudah dan cekap dari JDK 7 dan seterusnya.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Fail Java kepada Array Byte?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!