Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从已导入eclipse的文件夹中读取文本文件?_Java_Eclipse_Import_Filenotfoundexception - Fatal编程技术网

Java 如何从已导入eclipse的文件夹中读取文本文件?

Java 如何从已导入eclipse的文件夹中读取文本文件?,java,eclipse,import,filenotfoundexception,Java,Eclipse,Import,Filenotfoundexception,这是我导入eclipse的文件夹的快照。我想从里面的.txt文件中读取 但是如果我写的像 try(BufferedReader h = new BufferedReader(new FileReader("input8.txt"))){ 我得到FileNotFoundException。有人能帮忙吗 编辑:阿加德和数学的答案帮了大忙。我又做了一次精细的搜索,在agad指出问题后,我找到了一本关于这个问题的好书。试试: try(BufferedReader h = new BufferedRe

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

但是如果我写的像

try(BufferedReader h = new BufferedReader(new FileReader("input8.txt"))){
我得到
FileNotFoundException
。有人能帮忙吗

编辑:阿加德和数学的答案帮了大忙。我又做了一次精细的搜索,在agad指出问题后,我找到了一本关于这个问题的好书。

试试:

try(BufferedReader h = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("collinear/input8.txt")))){
编辑

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

试试:

编辑


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

试试共线/input8.txt我试过了,但还是一样。但是它应该能工作……试试共线/input8.txt,我试过了,但还是一样。但它应该已经起作用了……为什么需要这样做?对于这样简单的事情来说,似乎有点太费劲了!尽管如此,我还是会尝试一下。我是个智障,我不知道如何用一个BufferedReader(如果应该这样做的话)来链接它。您能提供更多的代码吗?@SomjitNag执行目录可以是任何内容。新文件读取器(path)读取相对于执行目录的路径上的文件,但您需要相对于类的路径,您从中读取文件。为什么需要这样做?对于这样简单的事情来说,似乎有点太费劲了!尽管如此,我还是会尝试一下。我是个智障,我不知道如何用一个BufferedReader(如果应该这样做的话)来链接它。您能提供更多的代码吗?@SomjitNag执行目录可以是任何内容。新文件读取器(path)读取相对于执行目录的路径上的文件,但您需要相对于类的路径,您可以从中读取文件。这也可以工作,但我需要了解它为什么工作,以及为什么我尝试的那个没有工作。你能帮我一点忙吗?这也行,但我需要理解为什么它行,为什么我试过的那一个不行。你能帮我一点忙吗?
"PatternRecognition\\collinear\\input8.txt"