从文件读取数据时出错

时间:2014-07-30 15:47:35

标签: java file-io bufferedreader

我正在使用以下程序从文件中读取数据。当我尝试验证file的存在时,我变得虚假。虽然存在文件

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderExample {

public static void main(String[] args) {

    BufferedReader br = null;

    try {

        String sCurrentLine;

        br = new BufferedReader(new FileReader("H:\\infilename.txt"));

        while ((sCurrentLine = br.readLine()) != null) {
            System.out.println(sCurrentLine);
        }

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            if (br != null)br.close();
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

   }
}

获得以下错误

java.io.FileNotFoundException: H:\infilename.txtt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    at BufferedReaderExample.main(BufferedReaderExample.java:15)

当我尝试读取系统中的文件时,我总是收到错误。我正在使用eclipse。它没有安装在我的系统上。它是一个独立的应用程序。这会导致问题吗?请帮我解决这个问题

2 个答案:

答案 0 :(得分:2)

br = new BufferedReader(new FileReader("H:\\infilename.txtt"));

主要是打字错误;你拼写错误的文件的名称。你应该写:

 br = new BufferedReader(new FileReader("H:\\infilename.txt"));

Notepad

Eclipse

答案 1 :(得分:0)

该文件不存在。

请在使用之前确保它确实存在:

{
    final File file = new File("H:\\infilename.txt");
    if(file.exists() && file.isFile()) {
        // ...
    } else System.out.println("File not found!");
}

如果需要,请创建它:

{
    file.createNewFile();
}

如OP所述,问题是该文件以.txt作为后缀保存。删除它将解决问题。