Java 未找到文件textFile.txt异常

Java 未找到文件textFile.txt异常,java,Java,正在尝试在eclipse中构建一个计算字符、行和字的java程序。。。当我将文件textFile.txt作为参数传入时,控制台显示以下错误: Exception in thread "main" java.io.FileNotFoundException: textFile.txt (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStre

正在尝试在eclipse中构建一个计算字符、行和字的java程序。。。当我将文件textFile.txt作为参数传入时,控制台显示以下错误:

Exception in thread "main" java.io.FileNotFoundException: textFile.txt (No such file or directory)
    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.util.Scanner.<init>(Scanner.java:611)
    at CountText.main(CountText.java:10)

文件应该存在于您工作的位置。如果您不确定,这是在命令提示符下运行程序的位置。如果您使用的是IDE,那么这将是您的项目根目录


如果您仍然不确定,请尝试提供绝对路径,如C:\filename.txt。

您的问题是文件
textFile.txt
不在当前目录中


在Eclipse中,您可以在名为“Arguments”的第二个选项卡上,配置运行Java程序时当前目录应该是什么,这是在适当命名的“”中完成的。

提供文件的完整路径,例如c:\test/test/test.txttry,其中包含文件的绝对路径打印文件的结果。getAbsolutePath()并确保该文件存在于该位置。您可以使用以下命令获取当前目录路径:
new java.io.file(“.”).getCanonicalPath()
。那么我应该将目录设置为什么?现在是${workspace\u loc:Counter7}。。。。Counter7是项目/文件夹的全称,如果您希望用户能够键入
textFile.txt
,可能应该将其设置为包含
textFile.txt
的文件夹。如果没有意义,可以将其设置为
${user.home)
,或者要求用户输入完全限定的文件名。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.StringTokenizer;

public class CountText {
    public static void main(String[] args) throws FileNotFoundException {
        if(args.length > 0) {
            File file = new File(args[0]);
            Scanner in = new Scanner(file);

            int words = 0;
            int lines = 0;
            int chars = 0;
            while(in.hasNextLine())  {
                lines++;
                String line = in.nextLine();
                chars += line.length();
                words += new StringTokenizer(line, " ,").countTokens();
            }


        }
        else{
            System.out.println("No arguments were given.");
        }
}
}