我正在尝试在以下位置创建一个新文件:

project/src/resources/image.jpg


如下:

URL url = getClass().getResource("src/image.jpg");
File file = new File(url.getPath());


但我得到错误:

java.io.FileNotFoundException: file:\D:\project\dist\run560971012\project.jar!\image.jpg (The filename, directory name, or volume label syntax is incorrect)


我做错了什么?

更新:

我正在尝试从中创建一个MultipartFile:

FileInputStream input = new FileInputStream(file);
MultipartFile multipartFile = new MockMultipartFile("file", file.getName(), "image/jpeg", IOUtils.toByteArray(input));

最佳答案

您没有将图像数据传递到文件中!!您正在尝试在图像路径中写入一个空文件!

我会推荐我们的Apache朋友FileUtils库(getting classpath as this answer):

import org.apache.commons.io.FileUtils

URL url = getClass().getResource("src/image.jpg");
final File f = new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath());
FileUtils.copyURLToFile(url, f);


此方法下载url,并将其保存到文件f

07-24 09:47
查看更多