java inputstream转成File对象,只有inputstream一个参数,需要返回file对象
时间: 2024-03-05 18:50:10 浏览: 52
好的,可以使用 Java 7 中的 Files 工具类来实现将 InputStream 转换成 File 对象的操作,具体代码如下:
```java
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class InputStreamToFile {
public static File convert(InputStream inputStream) throws IOException {
Path tempFile = Files.createTempFile(Paths.get(System.getProperty("java.io.tmpdir")), "prefix", ".suffix");
Files.copy(inputStream, tempFile, StandardCopyOption.REPLACE_EXISTING);
return tempFile.toFile();
}
public static void main(String[] args) throws IOException {
InputStream inputStream = new FileInputStream("input.txt");
File file = convert(inputStream);
System.out.println(file.getAbsolutePath());
}
}
```
在上面的代码中,我们使用 Files 工具类中的 createTempFile() 方法创建一个临时文件,然后使用 Files.copy() 方法将 InputStream 写入临时文件中。最后,我们将临时文件转换成 File 对象并返回。注意,在使用完临时文件后,需要将其删除。可以在 convert() 方法的结尾处使用 Files.deleteIfExists() 方法删除临时文件。
阅读全文