原文: https://howtodoinjava.com/java/io/how-to-read-file-content-into-byte-array-in-java/
在 Java 中,在各种情况下都可能需要 将文件读取到字节数组 。 该字节数组可用于通过网络以及其他程序 API 进行进一步处理。 让我们了解几种在 Java 中将文件中的数据读取到字节数组中的方法。
如果使用的是 Java 7,则
Files.readAllBytes()
是最好的方法。否则,您将需要下面列出的其他 3 个选项中的任何方法。
public class ContentToByteArrayExample
public static void main(String[] args)
Path path = Paths.get("C:/temp/test.txt");
byte[] data = Files.readAllBytes(path);
在使用 Java 8 的情况下,也可以使用此方法。
我正在使用java.io.FileInputStream
读取文件的内容,然后将读取的内容转换为字节。
import java.io.File;
import java.io.FileInputStream;
public class ContentToByteArrayExample
public static void main(String[] args)
File file = new File("C:/temp/test.txt");
readContentIntoByteArray(file);
private static byte[] readContentIntoByteArray(File file)
FileInputStream fileInputStream = null;
byte[] bFile = new byte[(int) file.length()];
//convert file into array of bytes
fileInputStream = new FileInputStream(file);
fileInputStream.read(bFile);
fileInputStream.close();
for (int i = 0; i < bFile.length; i++)
System.out.print((char) bFile[i]);
catch (Exception e)
e.printStackTrace();
return bFile;
将数据读入字节数组的另一种好方法是在 Apache Commons IO 库中(如果允许在项目中使用它)。
//Using FileUtils.readFileToByteArray()
byte[] org.apache.commons.io.FileUtils.readFileToByteArray(File file)
//Using IOUtils.toByteArray
byte[] org.apache.commons.io.IOUtils.toByteArray(InputStream input)
将数据读入字节数组的另一种好方法是 Google Guava 库(如果允许在您的项目中使用它)。
//Using Files.toByteArray()
byte[] com.google.common.io.Files.toByteArray(File file)
//Using ByteStreams.toByteArray
byte[] com.google.common.io.ByteStreams.toByteArray(InputStream is)
学习愉快!