0
import java.io.*;
import java.util.Scanner;
public class Test {
    /**
     * @param args
     */
    public static void main(String[] args) throws FileNotFoundException {
        File test = new File("test.txt");
        Scanner read = new Scanner (test);
        String input;
        input = read.next();
        System.out.println (input);
    }
}

当我运行此代码时,我收到此错误

Exception in thread "main" java.io.FileNotFoundException: test.txt (The system cannot find the file specified)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.<init>(Unknown Source)

at java.util.Scanner.<init>(Unknown Source)
    at Test.main(Test.java:9)

我已经创建了文本文件,它就在项目文件夹中,但没有找到它。

编辑

InputStream file = getClass().getResourceAsStream("highScore.txt");
BufferedReader br = new BufferedReader (new InputStreamReader(file,"UTF-8"));
String text;
text = br.readLine();
while (text!=null) {
    System.out.println (text);
}

我试过了,但我得到了 NullPointerException 错误

这是一个小程序。

4

2 回答 2

0

您必须与test.txt启动程序时位于同一目录中。例如:

cd dir/with/textfile
ls
  test.txt
java -cp my.jar com.toby.guo.Test

或者,您可以提供文件的完整路径:

File test = new File("/home/dir/with/textfile/test.txt");
于 2012-06-16T05:23:25.763 回答
0

当您使用文件读取文件时,new File("test.txt");该文件应直接位于 java 程序的当前工作目录中。

或者您也可以将文件与您的 Test.java 一起放入并像这样读取它:

Test.class.getResourceAsStream("test.txt");
于 2012-06-16T05:24:15.480 回答