2. FileInputStream - Java 6
在 Java 6 中使用 java.io.FileInputStream 读取文件的内容。
示例 2:逐字节读取文件
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()];
try
{
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;
}
}
1. Files.readAllBytes() - Java 8
如果我们使用的是 Java 7、8 及更高版本,Files.readAllBytes() 是最好的方法。
示例 1:在 Java 8 中读取文件到 byte[]
public class ContentToByteArrayExample
{
public static void main(String[] args)
{
Path path = Paths.get("C:/temp/test.txt");
byte[] data = Files.readAllBytes(path);
}
}
4. 使用 Files或者 ByteStreams - Guava
在 Google Guava 库的Files 或者 ByteStreams 将数据读入字节数组
示例 4:将整个文件读入 byte[]
//Using Files.toByteArray() byte[] com.google.common.io.Files.toByteArray(File file) //Using ByteStreams.toByteArray byte[] com.google.common.io.ByteStreams.toByteArray(InputStream is)
欢迎来到之路教程(on itroad-com)
3. FileUtils, IOUtils - Apache Commons IO
另一种将数据读入字节数组的好方法是在 apache commons IO 库中。
示例 3:将整个文件读入 byte[]
//Using FileUtils.readFileToByteArray() byte[] org.apache.commons.io.FileUtils.readFileToByteArray(File file) //Using IOUtils.toByteArray byte[] org.apache.commons.io.IOUtils.toByteArray(InputStream input)
日期:2020-09-17 00:09:25 来源:oir作者:oir
