java - getResourceAsStream 返回 null 但 File.canRead() 返回 true

标签 java file-io

我有当前的文件结构

-令人难以置信

*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 目录的父目录来执行此操作

关于java - getResourceAsStream 返回 null 但 File.canRead() 返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21268434/

相关文章:

java - “找不到或加载主类”是什么意思?

java - 如何在 Java 中将 $1319.2295689273974 舍入为 1319.23?

java - 对链表进行排序而不重新链接节点

java - 使用 JPA 和 Spring 进行集成测试

c++ - 文件是否保证在 ofstream::close() 返回后可以立即打开以供读取?

c++ - 在 C++ 错误中读取空格分隔值文件

android - 如何使用 cordova 文件/文件系统根插件访问外部存储?

java - 适用于 Android 的 OData4j : ClassNotFoundException for XmlInputFactory

python - 从 Django 的媒体目录中打开数据文件

java - 在 Android 上创建临时文件的最佳方法是什么?