FileOutputStream如何转为inputstream
时间: 2023-10-25 18:03:48 浏览: 141
要将FileOutputStream转换为InputStream,可以使用Java的PipedInputStream和PipedOutputStream。下面是一个示例代码:
```java
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
// 创建一个PipedInputStream和一个PipedOutputStream
PipedInputStream inputStream = new PipedInputStream();
PipedOutputStream outputStream = new PipedOutputStream(inputStream);
// 创建一个FileOutputStream
FileOutputStream fileOutputStream = new FileOutputStream("output.txt");
// 将FileOutputStream的数据写入PipedOutputStream
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileOutputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
// 关闭流
fileOutputStream.close();
outputStream.close();
// 使用PipedInputStream读取数据
int data;
while ((data = inputStream.read()) != -1) {
// 处理读取到的数据
System.out.print((char) data);
}
// 关闭流
inputStream.close();
}
}
```
在上面的示例中,我们创建了一个PipedInputStream和一个PipedOutputStream,并将它们连接起来。然后,我们创建了一个FileOutputStream来写入数据,并将其写入PipedOutputStream中。最后,我们使用PipedInputStream来读取数据。
请注意,这只是一种将FileOutputStream转换为InputStream的方法之一。具体的实现可能会根据你的需求而有所不同。
阅读全文