gpt4 book ai didi

java - java中如何处理图像路径?

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:20 28 4
gpt4 key购买 nike

首先,让我澄清一下,我是一名业余爱好的 Java 程序员,英语不是我的母语,这是我在 StackOverflow 中的第一个问题,所以如果我做错了什么,我将不胜感激。

当我需要在应用程序中使用某些图像时,我将图像文件放在项目的 bin 文件夹中,并使用以下代码来访问该图像:

Image img1 = new ImageIcon(this.getClass().getResource("/confirm.png")).getImage();

最近,我决定让用户使用 JFileChooser 选择图像。我制作的方法是获取图像路径并将该图像复制到我的 bin 文件夹中,这样我就可以使用上面的代码行。我的做法如下:

File outputFile = new File(System.getProperty("user.dir")+ "/bin/" + "default.png");
ImageIO.write(defaultImage, "png", outputFile);

这样我就可以在项目文件夹 (C:\Users\renan\Desktop\Image_Editor\bin\default.png) 中获取该文件的副本。

当我在 Eclise 中运行应用程序时一切正常,但当我创建可运行 JAR 文件 (.jar) 时,事情开始出错。当我通过命令提示符运行 .jar 文件时(java -jar "Image Editor.jar"),出现以下错误:

java.io.FileNotFoundException: C:\Users\renan\Desktop\bin\default.png (The system can not find the path specified).

考虑到这个错误后,我意识到创建 .jar 文件后,我无法继续将图像复制到我的 bin 文件夹中,因为现在只有一个 .jar 文件,而不是像以前那样分开的文件夹。

我的问题是:如何处理程序编译后将使用的图像?

我是否应该在计算机中创建一个文件夹来存储此应用程序图像并从该文件夹加载图像? (就像游戏有 Screenshots 文件夹来保存用户捕获的图像)。

如果有人能告诉我正确的方法,我将非常感激。

最佳答案

在 JAR 外部创建一个文件夹。 JAR 文件本质上是 Windows 上的 *.zip 文件,因此在编译 JAR 文件后,您无法更改 JAR 文件中的任何文件夹,因为它是压缩格式。

关于java - java中如何处理图像路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42742544/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com