运行 读取文件并对文件中的字符进行计数的程序导致 FileNotFoundException

Running a program that read a file and count the characters in the file results in FileNotFoundException

我正在尝试读取文件并计算文件中的字符数。下面是我的代码。但是,每当我 运行 代码时,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.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\

我测试了你的代码,它运行良好。

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

C:\TestData\data

您确定您是无意中创建了 data.txt 文件而不是数据(没有扩展名)吗?

默认隐藏所有已知文件扩展名 windows

我认为这里的问题是您无法查看文件扩展名。在Folder Options>View

中取消勾选Hide extensions for known file types即可查看