无法在java中打开文件

无法在java中打开文件,java,Java,我正在尝试用java打开一个文本文件。我正在使用ubuntu 12.04。以下是我的代码: package nlp; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileReader; import java.io.InputStreamReader; public class sentence { public static void main(String[] args) {

我正在尝试用java打开一个文本文件。我正在使用ubuntu 12.04。以下是我的代码:

package nlp;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;

public class sentence {

public static void main(String[] args) {
    System.out.println("hello");
    FileReader fr = new FileReader("test.txt");
    BufferedReader br = new BufferedReader(fr);

    String line;
    while ((line = br.readLine()) != null) {
        // process the line.
    }
    br.close();

}

}

我正在使用Eclipse进行开发。上面写着“FileNotFound”。我已经将文本文件放在.class和.java文件夹中。我哪里出错了?

您需要将其放入try-catch中,因为它会引发IOException,而IOException是选中的异常。请将代码放入try-catch或使用“public static void main(String[]args)throws IOException”处理异常

您需要将其放入try-catch中,因为它会引发IOException,而IOException是选中的异常。请将代码放入try-catch中,或使用“public static void main(String[]args)throws IOException”处理异常。

Eclipse中的默认执行目录是项目文件夹的根目录。将文件放在那里或在路径前面加上正确的底层文件夹结构。

Eclipse中的默认执行目录是项目文件夹的根目录。将文件放在那里,或在路径前面加上正确的底层文件夹结构。

如Arnaud所述,尝试以下操作以查找Java需要文件的位置:

System.out.println(new File(".").getAbsolutePath());

正如Arnaud提到的,请尝试以下方法以查找Java希望文件的位置:

System.out.println(new File(".").getAbsolutePath());

该文件应位于项目文件夹的根目录中,如下所示。你的代码运行良好


文件应位于项目文件夹的根目录中,如下所示。你的代码运行良好


提示:请尝试
新建文件(“.”)。getAbsolutePath()
以了解文件的搜索位置。test.txt文件的路径可能错误。该文件存储在哪里?代码的方式是假定该文件与可执行文件位于同一目录中。即使这样,您也一定要获取“AbsolutePath”,就像良好的实践提示:尝试
新建文件(“.”).getAbsolutePath()
,以了解文件的搜索位置。可能test.txt文件的路径是错误的。该文件存储在哪里?代码的方式是假定该文件与可执行文件位于同一目录中。即使这样,你也一定要抓住“绝对路径”,正如良好实践这确实是一个良好实践,但不能解决OP的问题。代码如何编译而不处理选中的异常?在任何情况下都有可能吗?这确实是一个很好的实践,但不能解决OP的问题。代码如何编译而不处理选中的异常?在任何情况下都可能吗?通过正确的文件夹结构,您的意思是=“/home/Documents/test.txt”。我试过完整的路径,还是没有用!正确的文件夹结构是指=“/home/Documents/test.txt”。我试过完整的路径,还是没有用!