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