java中访问jar资源的多平台方法
我需要一些代码,可以将java中访问jar资源的多平台方法,java,file,embedded-resource,Java,File,Embedded Resource,我需要一些代码,可以将InputStream从存储在某个路径中的资源获取到jar文件中,这是测试代码: String res =File.separatorChar+ "folder"+File.separatorChar+"file.txt"; InputStream is = ReadRes.class.getResourceAsStream(res); System.out.println(is); 在我的jar中有目录文件夹/file.txt,在linux中可以工作,但在W
InputStream
从存储在某个路径中的资源获取到jar文件中,这是测试代码:
String res =File.separatorChar+ "folder"+File.separatorChar+"file.txt";
InputStream is = ReadRes.class.getResourceAsStream(res);
System.out.println(is);
在我的jar中有目录文件夹/file.txt,在linux中可以工作,但在Windows中,
is
的值为空。我应该怎么做?在获取资源时始终使用/
资源不是一个
文件
,路径由一个URL
表示,该URL始终具有正斜杠。在linux中它可以工作,但在linux中我得到一个空值!!我认为你的问题需要修改,我想其中一个应该是windows;)不要使用file.speratorchar。只需使用/i更正/i替换File.separatorChar,我认为File.separatorChar是一种与平台无关的指定路径分隔符的方法,我错了。谢谢如果您阅读了文件,您应该使用File.spearatorChar
来获得独立于平台的代码。但这里您给出了一条通往getResourceAsStream
的路径,它的工作方式不同。它期望路径由/
分隔。