![](/img/trans.png)
[英]adding relative directory to java classpath and using ClassLoader().getResourceAsStream(“”)
[英]How to specify the directory as classpath in order to read a file in it using classloader while running java application?
假设目录dir
存在文件abc.txt
。 我正在尝试使用以下命令运行Java应用程序java -cp dir;myjar.jar com.example.Main
在Main class中,我试图像getClass().getResource("/abc.txt")
这样访问此文件。 但这返回null。 我不确定这是怎么回事。 任何指针将不胜感激。
由于该文件位于classpath目录的根目录中,因此您需要使用"/abc.txt"
,否则它将在package文件夹中查找有问题的类。
就像getResource
的javadoc一样:
在委派之前,使用以下算法从给定资源名称构造绝对资源名称:
如果
name
与开始'/'
('\/'
),则资源的绝对名称是所述的部分name
之后的'/'
。否则,绝对名称的格式如下:
modified_package_name/name
其中
modified_package_name
是此对象的软件包名称,用'/'
代替'.'
('\.'
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.