java字节数组变成文件
时间: 2023-09-28 12:05:34 浏览: 152
将Java字节数组转换为文件可以使用Java IO API中的FileOutputStream类。可以按照以下步骤进行操作:
1. 创建一个FileOutputStream对象,指定写入的文件路径。
2. 使用该对象的write()方法将字节数组写入文件。
3. 关闭该对象。
以下是一个示例代码:
```java
public void byteArrayToFile(byte[] bytes, String filePath) throws IOException {
FileOutputStream fos = new FileOutputStream(filePath);
fos.write(bytes);
fos.close();
}
```
在上面的代码中,byteArrayToFile()方法将字节数组转换为文件,并将其保存在指定的文件路径中。
相关问题
用字节流读写字符文件 用FileOutputStream将1,2,…,100,这100个数字的每个数字按照字节数组方式写入到文件d:\out3.txt里,然后再用FileInputStream类按照一次读入一个字节数组的方式将d:\out3.txt的内的数据读出来,并输出到屏幕上。 注意:将一个数字以字节数组的方式写入文件时,要将该数字先用String.valueOf()方法转化为字符,然后用String的getBytes()方法变成一个字节数组,然后用FileOutputStream类将字节数组写入到文件中。从文件中读入字符数据时,可以用FileInputStream一次读入一个字节数组,然后把字节数组变成字符串。
好的,以下是用字节流读写字符文件的代码示例:
```java
import java.io.*;
public class ByteStreamDemo {
public static void main(String[] args) throws IOException {
// 将数字写入文件
FileOutputStream fos = new FileOutputStream("d:\\out3.txt");
for (int i = 1; i <= 100; i++) {
String numStr = String.valueOf(i);
byte[] numBytes = numStr.getBytes();
fos.write(numBytes);
}
fos.close();
// 从文件中读取数字并输出到屏幕
FileInputStream fis = new FileInputStream("d:\\out3.txt");
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) != -1) {
String numStr = new String(buffer, 0, len);
System.out.print(numStr);
}
fis.close();
}
}
```
上面的代码使用FileOutputStream将数字1到100写入到文件d:\out3.txt中,然后使用FileInputStream从文件中读取数据并输出到屏幕上。在写入文件时,我们将每个数字转化为字符串,然后将字符串转化为字节数组并写入到文件中。在读取文件时,我们一次读取一个字节数组,并将其转化为字符串输出到屏幕上。
需要注意的是,在读取文件时,我们使用了一个缓冲区(byte数组),这是为了提高效率。每次读取文件时,我们读取的字节数组长度为1024,如果文件中的数据不足1024个字节,就只会读取实际的字节数。同时,我们还需要根据实际读取的字节数来构造字符串,以避免输出多余的空格或换行符。
希望这个示例能够帮助你理解如何使用字节流读写字符文件。
3、用字节流读写字符文件 用FileOutputStream将1,2,…,100,这100个数字的每个数字按照字节数组方式写入到文件d:\out3.txt里,然后再用FileInputStream类按照一次读入一个字节数组的方式将d:\out3.txt的内的数据读出来,并输出到屏幕上。 注意:将一个数字以字节数组的方式写入文件时,要将该数字先用String.valueOf()方法转化为字符,然后用String的getBytes()方法变成一个字节数组,然后用FileOutputStream类将字节数组写入到文件中。从文件中读入字符数据时,可以用FileInputStream一次读入一个字节数组,然后把字节数组变成字符串
好的,以下是代码实现:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteStreamReadWrite {
public static void main(String[] args) {
try {
// 写入文件
FileOutputStream fos = new FileOutputStream("d:\\out3.txt");
for (int i = 1; i <= 100; i++) {
String str = String.valueOf(i);
byte[] bytes = str.getBytes();
fos.write(bytes);
}
fos.close();
// 读出文件并输出到屏幕
FileInputStream fis = new FileInputStream("d:\\out3.txt");
byte[] bytes = new byte[1024];
int len = fis.read(bytes);
String str = new String(bytes, 0, len);
System.out.println(str);
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
输出结果为:
```
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
```
阅读全文