繁体   English   中英

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

[英]How deal with image paths in java?

首先,让我澄清一下,我是业余爱好的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中运行应用程序时,一切正常,但是当我创建一个Runnable JAR文件(.jar)时,事情就开始出错了。 当我通过命令提示符(java -jar“Image Editor.jar”)破坏我的.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文件中的任何文件夹,因为它是压缩格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM