java 文件流和byte[]互转
时间: 2023-09-03 18:13:01 浏览: 56
Java文件流和byte[]互转可以使用如下代码:
```java
import java.io.*;
public class FileToByteArray {
public static void main(String[] args) {
String filePath = "file.txt";
try {
File file = new File(filePath);
FileInputStream inputStream = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
inputStream.read(bytes);
inputStream.close();
// 把byte数组转成字符串,方便查看
String content = new String(bytes);
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
```java
import java.io.*;
public class ByteArrayToFile {
public static void main(String[] args) {
String filePath = "file.txt";
try {
byte[] bytes = "Hello World!".getBytes();
FileOutputStream outputStream = new FileOutputStream(filePath);
outputStream.write(bytes);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,`FileToByteArray`将文件转换为byte数组,`ByteArrayToFile`将byte数组保存为文件。
需要注意的是,这里读取文件的时候使用了`FileInputStream`,而写文件的时候使用了`FileOutputStream`。在读文件的时候需要先创建一个`File`对象,然后使用`FileInputStream`读取文件内容到一个byte数组中;在写文件的时候需要先将内容转换为byte数组,然后使用`FileOutputStream`将byte数组写入到文件中。