FileOutputStream ByteArrayOutputStream 互相转换的例子
时间: 2023-10-25 22:25:54 浏览: 151
下面是一个将数据从 ByteArrayOutputStream 转换为 FileOutputStream 的例子:
```java
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class ByteArrayToFileOutputStreamExample {
public static void main(String[] args) {
try {
// 创建一个 ByteArrayOutputStream 对象
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 向 ByteArrayOutputStream 中写入一些数据
baos.write("Hello, world!".getBytes());
// 将 ByteArrayOutputStream 转换为 FileOutputStream
FileOutputStream fos = new FileOutputStream("example.txt");
baos.writeTo(fos);
System.out.println("数据已写入到文件 example.txt 中。");
// 关闭 FileOutputStream 和 ByteArrayOutputStream 对象
fos.close();
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个例子创建了一个 ByteArrayOutputStream 对象,向其中写入了一些数据,然后将其转换为 FileOutputStream,并将数据写入到文件 example.txt 中。
另外,如果需要将数据从 FileOutputStream 转换为 ByteArrayOutputStream,可以使用如下代码:
```java
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamToByteArrayExample {
public static void main(String[] args) {
try {
// 创建一个 FileOutputStream 对象
FileOutputStream fos = new FileOutputStream("example.txt");
// 向 FileOutputStream 中写入一些数据
fos.write("Hello, world!".getBytes());
// 将 FileOutputStream 转换为 ByteArrayOutputStream
FileInputStream fis = new FileInputStream("example.txt");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = fis.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
System.out.println("数据已转换为 ByteArrayOutputStream。");
// 关闭 FileOutputStream 和 ByteArrayOutputStream 对象
fos.close();
fis.close();
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个例子创建了一个 FileOutputStream 对象,向其中写入了一些数据,然后将其转换为 ByteArrayOutputStream,并输出一条消息。
阅读全文