的getResourceAsStream返回null但File.canRead()返回true
我当前的文件结构的getResourceAsStream返回null但File.canRead()返回true
-Boggle
*src
-java files
*data
-dictionary.txt
*derived
-Boggle.jar
打字
System.out.println(new File(".").getAbsolutePath()
给
/惊奇/导出/
我试图加载dictionary.txt文件,
getClass().getResourceAsStream("../data/dictionary.txt")
但这不过返回null
当我尝试
new File("../data/dictionary.txt").canRead()
返回true。
帮助将不胜感激!
data/dictionary
不被认为是嵌入的资源,但仅仅是外部资源,在这种情况下,一个简单的文件
如果你想使用getResource
,然后data/dictionary
需要包含类的范围内路径。
您可以通过应用程序Jar文件的一个内data/dictionary
或设置类路径包括含有data
目录
我有一个build.xml文件。我试图通过添加
对不起,在问题中的问题!有没有其他方法可以将此文件添加到类路径中? –
你希望在类路径中包含'data'的父目录,以便在搜索文件时(使用'getResource'),你仍然在寻找'%classpath%/ data/dictionary.txt'或者让build脚本包含'data'目录,并将其内容作为Jar'ing过程的一部分 – MadProgrammer
是'你的classpath的data'部分父目录这样做呢?你使用IDE吗?已宣布它为源文件夹? – A4L