繁体   English   中英

使用可执行Jar访问文件

[英]Accessing File With Executable Jar

我得到的文件是这样的:

File testHeaderFile = new File(ClassLoader.getSystemResource("Images/redHeader.jpg").toURI());

当我在eclipse中编译时,此方法有效,但是当我从可执行jar运行时,则无效。

这段代码与罐子一起工作:

ImageIcon pc = new ImageIcon(getClass().getClassLoader().getResource("Images/stateFarmTheme1Icon.png"));

我到底在做什么错?

每个类加载器都有自己的搜索路径。

ClassLoader.getSystemResource:只需从搜索路径中找到指定名称的资源(在eclipse中包含项目目录),该资源用于加载类并通过系统类loader.so找到该资源,因此不包含可执行jar目录。

getClass()。getClassLoader()。getResource:此方法将首先在父类加载器中搜索资源; 如果父级为null,则搜索虚拟机内置的类加载器的路径。因此,包括可执行jar目录。

暂无
暂无

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

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