Java 如何从类路径创建文件

Java 如何从类路径创建文件,java,file,classpath,Java,File,Classpath,我正在尝试在以下位置创建新文件: 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

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

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)
我做错了什么

更新:


我正试图从中创建一个多部分文件:

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

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

我推荐我们的ApacheFriends库():


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

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

我推荐我们的ApacheFriends库():

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

您的问题在于“image.jpg”是您项目的一个资源。 因此,它被嵌入到JAR文件中。您可以在异常消息中看到它:

文件:\D:\project\dist\run560971012\project.jar\image.jpg

不能将JAR文件中的文件作为常规文件打开。 要读取此文件,必须使用(如本节所述)

祝你好运

你的问题是“image.jpg”是你项目的资源。 因此,它被嵌入到JAR文件中。您可以在异常消息中看到它:

文件:\D:\project\dist\run560971012\project.jar\image.jpg

不能将JAR文件中的文件作为常规文件打开。 要读取此文件,必须使用(如本节所述)


祝你好运

你想在.jar中创建一个文件吗?你想读取image.jpg的contends文件还是写它/创建一个新文件?请显示发生异常的代码行。如果您的ressource文件夹中没有子文件夹src,那么您只需要/image.jpg我正在尝试从它创建一个多部分文件。您是否尝试在.jar中创建一个文件?是否要读取image.jpg的文件内容或编写它/创建一个新文件?请显示发生异常的代码行。如果您的ressource文件夹中没有子文件夹src,则只需要/image.jpg,我正在尝试从中创建一个多部分文件
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);