inputstream 转 file
时间: 2024-03-19 08:39:20 浏览: 21
InputStream是Java中用于读取字节流的抽象类,而File是Java中用于表示文件的类。要将InputStream转换为File,可以通过以下步骤进行操作:
1. 创建一个临时文件对象,用于存储InputStream中的数据。可以使用File类的createTempFile方法来创建一个临时文件。
2. 创建一个FileOutputStream对象,用于将InputStream中的数据写入临时文件。可以使用FileOutputStream类来实现。
3. 使用循环从InputStream中读取数据,并将其写入到FileOutputStream中,直到读取完所有数据。
4. 关闭InputStream和FileOutputStream,释放资源。
5. 现在,你就可以使用转换后的File对象来进行其他操作了。
下面是一个示例代码:
```java
import java.io.*;
public class InputStreamToFile {
public static void convert(InputStream inputStream, String filePath) throws IOException {
File file = new File(filePath);
FileOutputStream outputStream = new FileOutputStream(file);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.close();
outputStream.close();
}
public static void main(String[] args) {
try {
// 示例:将InputStream转换为文件
InputStream inputStream = new FileInputStream("input.txt");
convert(inputStream, "output.txt");
System.out.println("转换成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```