InputStream 转为文件
时间: 2023-06-01 16:04:48 浏览: 871
可以使用 FileOutputStream 将 InputStream 中的数据写入到文件中。具体的代码如下:
```java
public static void inputStreamToFile(InputStream inputStream, String filePath) throws IOException {
byte[] buffer = new byte[1024];
int length;
try (FileOutputStream outputStream = new FileOutputStream(filePath)) {
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
}
}
```
其中,inputStream 是输入流,filePath 是文件路径。在 try-with-resources 代码块中,使用 FileOutputStream 将数据写入到文件中。循环中,使用 read 方法读取数据,并且使用 write 方法将数据写入到文件中。最后,需要注意需要关闭 FileOutputStream,可以使用 try-with-resources 来自动关闭。
相关问题
inputstream转为multipartfile
要将InputStream转换为MultipartFile,您可以使用Commons FileUpload库来实现。以下是一个示例代码:
```java
import org.apache.commons.fileupload.disk.DiskFileItem;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
public MultipartFile convertToMultipartFile(InputStream inputStream, String filename) throws IOException {
File tempFile = File.createTempFile("temp", null);
try (InputStream in = inputStream) {
Files.copy(in, tempFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
}
DiskFileItem fileItem = new DiskFileItem("file", Files.probeContentType(tempFile.toPath()), false, tempFile.getName(), (int) tempFile.length(), tempFile.getParentFile());
fileItem.getOutputStream();
MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
return multipartFile;
}
```
您可以通过将InputStream传递给`convertToMultipartFile`方法来将其转换为MultipartFile。请确保在使用完MultipartFile后删除临时文件。
InputStream转为FileInputStream
要将一个 InputStream 转换为 FileInputStream,你需要使用 FileInputStream 类的构造函数来创建一个新的 FileInputStream 对象。这个构造函数接受一个 File 对象作为参数。
下面是将 InputStream 转换为 FileInputStream 的示例代码:
```java
// 假设 inputStream 是你要转换的 InputStream 对象
FileInputStream fileInputStream = new FileInputStream(new File("path/to/file"));
// 现在你可以使用 fileInputStream 来读取文件数据了
```
在示例代码中,"path/to/file" 是你要读取的文件的路径。你可以将其替换为实际的文件路径。
阅读全文