Paths.get()如何指定创建的文件名
时间: 2024-02-18 10:06:15 浏览: 82
基于java Files类和Paths类的用法(详解)
5星 · 资源好评率100%
`Paths.get()`方法指定的是文件保存的路径,而不是文件名。如果你想要指定文件名,可以使用`resolve()`方法将文件名添加到路径的末尾。下面是一个示例:
```java
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String upload(@RequestParam("file") MultipartFile file) {
// 检查文件是否为空
if (file.isEmpty()) {
return "uploadFailure"; // 上传失败页面
}
// 处理文件上传
try {
byte[] bytes = file.getBytes();
// 将文件保存到本地或上传到云存储
String filename = file.getOriginalFilename();
Path path = Paths.get("path/to/save").resolve(filename);
Files.write(path, bytes);
return "uploadSuccess"; // 上传成功页面
} catch (IOException e) {
e.printStackTrace();
return "uploadFailure"; // 上传失败页面
}
}
```
在上面的代码中,`file.getOriginalFilename()`方法用于获取上传文件的原始文件名。`Paths.get().resolve()`方法用于将文件名添加到路径的末尾,创建一个新的`Path`对象。`Files.write()`方法用于将文件写入磁盘。
注意:在使用`MultipartFile`接收文件时,需要确保表单的`enctype`属性设置为`multipart/form-data`,否则无法正常上传文件。
阅读全文