InputStream 转换成FileInputStream java写法
时间: 2023-10-25 20:29:39 浏览: 837
java 中InputStream,String,File之间的相互转化对比
要将 `InputStream` 转换为 `FileInputStream`,可以使用 `FileOutputStream` 将 `InputStream` 的内容写入临时文件,然后再使用该文件创建一个 `FileInputStream`。以下是示例代码:
```java
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
InputStream inputStream = new FileInputStream("input.txt");
FileInputStream fileInputStream = convertToFIleInputStream(inputStream);
// 使用 fileInputStream 进行进一步操作
// ...
fileInputStream.close(); // 记得关闭流
} catch (IOException e) {
e.printStackTrace();
}
}
public static FileInputStream convertToFIleInputStream(InputStream inputStream) throws IOException {
// 创建临时文件
File tempFile = File.createTempFile("temp", ".tmp");
tempFile.deleteOnExit();
try (OutputStream outputStream = new FileOutputStream(tempFile)) {
// 将 inputStream 内容写入到临时文件中
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
}
return new FileInputStream(tempFile);
}
}
```
注意,以上代码中的 `input.txt` 是一个示例文件名,你需要根据实际情况替换为你要转换的输入流。
阅读全文