file转为ByteArrayOutputStream
时间: 2023-09-11 08:06:33 浏览: 54
你可以使用 Java 的 FileInputStream 和 ByteArrayOutputStream 类来实现这个转换。
下面是一个简单的示例代码:
```java
import java.io.*;
public class FileToByteArrayOutputStream {
public static void main(String[] args) {
try {
// 读取文件到字节数组
File file = new File("example.txt");
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
byte[] fileBytes = bos.toByteArray();
// 打印字节数组内容
System.out.println(new String(fileBytes));
// 关闭流
fis.close();
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,我们首先创建一个 FileInputStream 对象来读取文件。然后,我们创建一个 ByteArrayOutputStream 对象来将读取的数据写入内存中的字节数组。接下来,我们使用一个 while 循环来不断读取文件内容并将其写入 ByteArrayOutputStream 中。最后,我们使用 toByteArray() 方法将 ByteArrayOutputStream 转换为字节数组,并打印出来。
请注意,在使用完 FileInputStream 和 ByteArrayOutputStream 后,我们需要调用它们的 close() 方法来释放资源。