【问题标题】:Error while reading a data from a file从文件中读取数据时出错
【发布时间】:2014-07-30 15:47:34
【问题描述】:

我正在使用下面的程序从文件中读取数据。当我尝试验证文件是否存在时,我得到了错误。尽管文件存在

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)

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

【问题讨论】:

  • 文件未找到。有吗?
  • 我建议检查 H:\\ 以实际验证文件是否存在。
  • 选择一个可以帮助人们以后遇到困难的答案。@user3830868

标签: java file-io bufferedreader


【解决方案1】:
br = new BufferedReader(new FileReader("H:\\infilename.txtt"));

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

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

【讨论】:

    【解决方案2】:

    文件不存在。

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

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

    如果需要,创建它:

    {
        file.createNewFile();
    }
    

    正如 OP 所提到的,问题在于文件以.txt 作为后缀保存。删除它会解决问题。

    【讨论】:

    • @user3830868 太好了。我已将其添加到我的答案中,以便此答案可能对未来的读者有所帮助。随意使用我的答案左侧的复选标记将其标记为正确以关闭问题。
    猜你喜欢
    • 2014-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-20
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多