[英]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.