运行读取文件并计算文件中字符的程序会导致FileNotFoundException

时间:2016-04-28 08:12:20

标签: java filenotfoundexception fileinputstream

我试图读取文件并计算文件中的字符数。以下是我的代码。但是,每当我运行代码时,NetBeans始终输出以下错误消息:

run:
Exception in thread "main" java.io.FileNotFoundException: C:\TestData\data.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at test.Count.main(Count.java:28)
C:\Users\Justin\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1

为什么会这样?我有什么遗失的吗?

Count.java文件的位置为C:\Test\src\test\Count.java

import java.io.*;

public class Count {

    public static void countChars(InputStream in) throws IOException {
        int count = 0;

        while (in.read() != -1) {
            count++;
        }

        System.out.println("Counted " + count + " chars.");
    }

    public static void main(String[] args) throws Exception {

        countChars(new FileInputStream("C:\\TestData\\data.txt"));

    }
}

data.txt的位置为C:\TestData\

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:3)

我测试了你的代码,运行正常。

尝试使用具有访问权限的目录,例如您的主文件夹。

  

C:\ TestData \ data

您确定自己创建了一个data.txt文件而不是数据(没有扩展名)吗?

答案 1 :(得分:1)

默认情况下,所有已知的文件扩展名都隐藏在Windows

我相信这里的问题是您无法查看文件扩展名。可以通过在Hide extensions for known file types&gt;中取消选中Folder Options来查看该广告。 View