Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中访问jar资源的多平台方法_Java_File_Embedded Resource - Fatal编程技术网

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
的路径,它的工作方式不同。它期望路径由
/
分隔。