Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.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 使用类加载器getResourceAsStream()的绝对路径_Java_Classpath_Classloader_Absolute Path - Fatal编程技术网

Java 使用类加载器getResourceAsStream()的绝对路径

Java 使用类加载器getResourceAsStream()的绝对路径,java,classpath,classloader,absolute-path,Java,Classpath,Classloader,Absolute Path,我正在尝试使用ClassLoader getResourceAsStream() 我的目录结构如下: Project1 -src -main -java -webapp -WEB-INF -MYLOC -someprops.properties 对于classloader.getResourceAsStream(“MYLOC/someprops.properties”)来说,效果很好 但是现在我必须将属性文件移到.war之外,就像在C:\someprops.proper

我正在尝试使用ClassLoader getResourceAsStream()

我的目录结构如下:

Project1

 -src
  -main
   -java
  -webapp
   -WEB-INF
-MYLOC
-someprops.properties
对于
classloader.getResourceAsStream(“MYLOC/someprops.properties”)
来说,效果很好

但是现在我必须将属性文件移到.war之外,就像在
C:\someprops.properties

但是,
classloader.getResourceAsStream(“C:\someprops.properties”)
不起作用。
它不能使用绝对路径吗?

方法
classloader.getResourceAsStream
在类路径上查找资源。如果要使用
classloader.getResourceAsStream
加载
someprops.properties
文件,请将其添加到类路径中。否则,如果这是一个属性文件,则始终可以使用该方法。

如果您有一个本机文件路径,则不需要使用
getResourceAsStream
,只需以正常方式创建一个
FileInputStream

Properties props = new Properties();
FileInputStream in = new FileInputStream("C:\\someprops.properties");
try {
  props.load(in);
} finally {
  in.close();
}

(如果文件较大,您可能希望将
FileInputStream
包装在
BufferedInputStream
中)

确定获得该部分,但是资源的加载是在另一个不是我所有的jar文件中完成的,因此我无法访问他们如何加载文件,但我只能根据需要更改文件的位置,并且someprops.properties的路径由我的war决定