【问题标题】:How to read from text files inside a folder that has been imported into eclipse?如何从已导入 Eclipse 的文件夹中读取文本文件?
【发布时间】:2013-09-18 14:14:20
【问题描述】:

这是我导入到 eclipse 中的一个文件夹的快照。我想从里面的 .txt 文件中读取。

但是如果我像这样写

try(BufferedReader h = new BufferedReader(new FileReader("input8.txt"))){

我得到 FileNotFoundException 。有人可以帮忙吗?

编辑: Agad 和 Math 的回答很有帮助。我再次进行了细化搜索,发现 This article 在阿加德指出问题后非常适合阅读此特定问题。

【问题讨论】:

  • 试试collinear/input8.txt
  • 我试过了,但还是一样。虽然它应该工作......

标签: java eclipse import filenotfoundexception


【解决方案1】:
try(BufferedReader h = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("collinear/input8.txt")))){

【讨论】:

  • 为什么需要这个?像这样简单的事情似乎有点太费力了!我还是会试试看的。
  • 我智障,我不知道如何用 BufferedReader 链接它(如果应该这样做的话)。你能提供更多的代码吗?
  • @SomjitNag 执行目录可以是任何东西。 new FileReader(path) 读取相对于执行目录的路径上的文件,但是你需要相对于类的路径,你从那里读取文件。
【解决方案2】:

试试:

"PatternRecognition\\collinear\\input8.txt"

编辑

回答OP的评论:这是从你的项目根目录开始的相对路径,你的不起作用,因为你没有说文件的路径,你可能有几个同名但路径不同的文件,如何如果你不说它在哪里,编译会知道你指的是哪一个吗?但是,如果您想从 jar 文件中分发应用程序,我的回答不如 agad 回答好,因为根据他的回答,您可能会在 jar 文件中包含所有需要的资源,同时我的解决方案将要求文件到 jar 之外。更好的答案取决于您的需求,这由您决定。

【讨论】:

  • 这也有效,但我需要了解为什么会这样,以及为什么我尝试的那个没有。你能帮我一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 2016-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多