📅  最后修改于: 2023-12-03 15:01:34.010000             🧑  作者: Mango
在Java中,可以通过多种方式获取文件的字节。这些方式包括读取文件内容到字节数组、使用InputStream和OutputStream读写文件等等。下面将介绍使用Java读取文件字节的几种方式。
import java.io.File;
import java.nio.file.Files;
public class FileByteReader {
public static byte[] readBytesFromFile(File file) throws Exception {
return Files.readAllBytes(file.toPath());
}
}
上述代码通过调用Java的Files.readAllBytes()方法,将文件内容读取到一个字节数组中返回。可以通过以下代码调用该方法:
byte[] fileBytes = FileByteReader.readBytesFromFile(new File("file.txt"));
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class InputStreamByteReader {
public static byte[] readBytesFromFile(File file) throws Exception {
InputStream inputStream = new BufferedInputStream(new FileInputStream(file));
byte[] bytes = new byte[(int) file.length()];
inputStream.read(bytes);
inputStream.close();
return bytes;
}
}
上述代码通过创建一个BufferedInputStream来包装一个FileInputStream,实现从文件中读取字节数据。可以通过以下代码调用该方法:
byte[] fileBytes = InputStreamByteReader.readBytesFromFile(new File("file.txt"));
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class OutputStreamByteWriter {
public static void writeBytesToFile(File file, byte[] bytes) throws Exception {
OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));
outputStream.write(bytes);
outputStream.close();
}
}
上述代码通过创建一个BufferedOutputStream来包装一个FileOutputStream,实现将字节数据写入文件。可以通过以下代码调用该方法:
OutputStreamByteWriter.writeBytesToFile(new File("file.txt"), fileBytes);
以上三种方法都可以有效地获取一个文件的字节数据。在实际应用中可以根据需要选择适合自己的方式来读写文件。