无法在JAVA中打开文件

时间:2013-10-06 03:38:16

标签: java bufferedreader

我正在尝试使用BufferedReader在JAVA中打开文件,但无法打开该文件。这是我的代码

 public static void main(String[] args) {


    try 
    {

       BufferedReader reader = new BufferedReader(new FileReader("test.txt"));

       String line = null;
        while ((reader.readLine()!= null))  
        {
            line = reader.readLine();
            System.out.println(line);
        }   
       reader.close();          
    }
    catch(Exception ex) 
    {
        System.out.println("Unable to open file ");             
    }

}

它转到异常并打印无法打开文件。有什么建议我无法阅读它。

3 个答案:

答案 0 :(得分:1)

如果您想要更接近现代,请尝试从Paths Javadoc获取的Java 7解决方案:

final Path path = FileSystems.getDefault().getPath("test.txt");  // working directory
try (final Reader r = Files.newBufferedReader(path, StandardCharsets.UTF_8)) {
    String line = null;        
    while ((line = r.readLine()) != null) {
        System.out.println(line);
    }
}  // No need for catch; let IOExceptions bubble up.
   // No need for finally; try-with-resources auto-closes.

您需要将main声明为抛出IOException,但这没关系。无论如何,你没有连贯的方法来处理IOException。如果触发了异常,只需读取堆栈跟踪。

答案 1 :(得分:0)

我不知道为什么会这样,但问题似乎是我没有输入文件的完整路径,即使文件在同一个文件夹中。理想情况下,如果文件位于同一文件夹中,那么我就不需要输入整个路径名。

答案 2 :(得分:-1)

尝试先检查它是否存在:

File file = new File("test.txt");
if (!file.exists()) {
    System.err.println(file.getName() + " not found. Full path: " + file.getAbsolutePath());
    /* Handling code, or */
    return;
}
BufferedReader reader = new BufferedReader(new FileReader(file));
/* other code... */