文件在项目文件夹中时找不到文件错误

时间:2012-06-16 05:21:37

标签: java

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错误

这是针对小程序的。

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

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

或者您也可以将文件与Test.java一起放入,并按以下方式阅读:

Test.class.getResourceAsStream("test.txt");