java 将一个MultipartFile文件里的数据写入到File里,并保留File文件里原有的内容
时间: 2024-12-04 07:24:31 浏览: 12
SpringMVC 上传文件 MultipartFile 转为 File的方法
在Java中,如果你有一个`MultipartFile`对象,它通常来自于HTTP请求的文件上传部分,你可以将它的内容保存到现有的`File`对象中,同时保持原文件内容不变。这里是一个简单的示例:
```java
import javax.servlet.http.Part;
import org.springframework.web.multipart.MultipartFile;
public void saveFileToExistingFile(MultipartFile file, File outputFile) throws IOException {
// 检查文件是否已存在
if (!outputFile.exists()) {
outputFile.createNewFile();
}
// 创建字节输入流
InputStream inputStream = file.getInputStream();
try (BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(outputFile))) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
} finally {
// 关闭输入流
inputStream.close();
}
}
```
这个方法首先检查输出文件是否存在,如果不存在就创建一个新的。然后从`MultipartFile`获取输入流,将其内容逐块读取并写入到`FileOutputStream`中,最后关闭输入流。
阅读全文