上述代码中报错write,如何解决
时间: 2024-10-23 07:13:32 浏览: 10
在上述代码中,`new File("/webapp/pictureResources/" + originalFilename).write(bytes);`这行可能会抛出`FileNotFoundException`或`IOException`,因为`write()`方法是在尝试写入文件前创建文件的,如果文件不存在,就会引发错误。为了解决这个问题,你应该先检查文件是否已存在,如果不存在则先创建它。以下是修改后的代码片段:
对于`ImageFile`:
```java
try {
File outputFile = new File("/webapp/pictureResources/" + originalFilename);
if (!outputFile.exists()) {
outputFile.createNewFile();
}
outputFile.write(bytes);
return "redirect:/success?message=Image uploaded successfully.";
} catch (IOException e) {
e.printStackTrace();
return "error";
}
```
对于`VideoFile`也是类似:
```java
try {
File outputFile = new File("/webapp/videoResources/" + originalFilename);
if (!outputFile.exists()) {
outputFile.createNewFile();
}
outputFile.write(bytes);
return "redirect:/success?message=Video uploaded successfully.";
} catch (IOException e) {
e.printStackTrace();
return "error";
}
```
这样,如果文件不存在,`createNewFile()`方法会自动创建一个新的空文件,然后可以安全地写入数据。
阅读全文