InputStream转FileInputStream
时间: 2023-10-25 13:25:43 浏览: 142
InputStream与OutputStream及File间互转
3星 · 编辑精心推荐
可以使用Java的FileOutputStream和FileInputStream类来实现将InputStream转换为FileInputStream的操作,具体步骤如下:
1. 创建一个临时文件,用来存储InputStream中的数据。
```java
File tempFile = File.createTempFile("temp", ".tmp");
```
2. 使用FileOutputStream将InputStream中的数据写入临时文件中。
```java
OutputStream outputStream = new FileOutputStream(tempFile);
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.flush();
```
3. 创建FileInputStream对象,使用临时文件作为参数。
```java
FileInputStream fileInputStream = new FileInputStream(tempFile);
```
4. 使用完毕后,记得删除临时文件。
```java
tempFile.delete();
```
完整的代码如下:
```java
File tempFile = File.createTempFile("temp", ".tmp");
OutputStream outputStream = new FileOutputStream(tempFile);
byte[] buffer = new byte[4096];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.flush();
FileInputStream fileInputStream = new FileInputStream(tempFile);
tempFile.delete();
```
需要注意的是,在使用完毕后,一定要记得关闭inputStream和fileInputStream流,以及删除临时文件。
阅读全文