那这种方法如何获取整个文件完整的byte[]
时间: 2023-12-09 11:02:28 浏览: 110
读取Java文件到byte数组的三种方法(总结)
如果要一次性将整个文件读取到一个byte数组中,可以使用byte数组作为缓冲区,使用InputStream的read(byte[] b)方法来读取文件内容。以下是一个读取文件的例子,将文件内容读取到一个byte数组中:
```
try (InputStream inputStream = new FileInputStream("input.txt")) {
byte[] buffer = new byte[inputStream.available()];
int bytesRead = inputStream.read(buffer);
// bytesRead 表示实际读取到的字节数
// buffer 包含了读取到的文件内容
} catch (IOException e) {
e.printStackTrace();
}
```
在上面的代码中,我们首先使用available()方法获取输入流中可读取的字节数,然后创建一个与输入流长度相等的byte数组作为缓冲区,最后调用read(byte[] b)方法一次性读取文件内容到缓冲区中。注意,read(byte[] b)方法返回的是实际读取到的字节数,可能小于缓冲区的大小。如果一次性读取不完整个文件,可以在循环中多次调用read(byte[] b)方法,直到读取到文件末尾。
阅读全文