我明白这个问题已被多次询问,但尽管遵循了这些链接中的所有建议,我仍然最终得到文件未找到错误。
这些是我已经检查过的链接。
Where do I put the txt file that I want to read in Java?
How to really read text file from classpath in Java
因此,请不要让触发开心,将其标记为重复。
对于其中一个链接似乎可以互换地使用ClassPath和BuildPath这两个词,它们是同一个东西,因为在我的IDE中我似乎无法找到任何与ClassPath相关的东西,它只是BuildPath。
所以这是我的目录结构。
调用者类需要文件
我已经尝试了链接中的所有内容,但仍然无法读取文件。
读取文件的代码在这里
String path = "DataSource/data1.txt";
String jsonData = null;
try {
jsonData = Reader.readFile(path);
} catch (Exception e) {
e.printStackTrace();
}
任何帮助表示感谢。
答案 0 :(得分:2)
尝试
String path =“src / main / java / DataSource / data1.txt”;
了解eclipe中的执行点位于项目根目录。
但是你可能想在你的jar上打包这样的资源。如果是这样,你需要使用类似的东西:
jsonData = Reader.readFile(Caller.class.getResourceAsStream(“DataSource / data1.txt”“));
最后,将.txt文件移动到'src / main / resources',因为这是一个很好的做法。
答案 1 :(得分:0)
术语 ClassPath 与Java代码编译和执行相关,术语 BuildPath 与IDE(即Eclipse)相关。 IDE在构建和运行应用程序/程序时,会自动将添加到BuildPath的库添加到ClassPath。
“调用者类需要文件”,然后您可以以两种方式提供文件路径