File 转ByteArrayOutputStream
时间: 2023-12-03 22:51:29 浏览: 76
可以使用 FileInputStream 读取 File 的数据,然后使用 ByteArrayOutputStream 将读取到的数据写入到一个 ByteArrayOutputStream 中,最终得到一个字节数组:
```java
import java.io.*;
public class FileToByteArrayOutputStreamExample {
public static void main(String[] args) throws IOException {
File file = new File("example.txt");
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
bos.write(buffer, 0, bytesRead);
}
byte[] bytes = bos.toByteArray();
System.out.println("Bytes length: " + bytes.length);
fis.close();
bos.close();
}
}
```
在上面的例子中,我们首先创建一个 File 对象表示要读取的文件,然后使用 FileInputStream 读取该文件的数据,并将其写入 ByteArrayOutputStream 中。这里使用了一个缓冲区(buffer)来读取数据,每次最多读取 1024 个字节。当读取完所有数据后,我们调用 ByteArrayOutputStream 的 toByteArray() 方法,将其转换为一个字节数组。最后,记得关闭 FileInputStream 和 ByteArrayOutputStream 对象。
阅读全文