2012-06-16 115 views
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错误

这是一个小程序。

+0

你在哪里添加“的test.txt”文件? –

+1

相关:http://stackoverflow.com/questions/2308188/getresourceasstream-vs-fileinputstream – BalusC

回答

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"); 
0

当你阅读使用new File("test.txt");一个文件的文件应该是直接的电流工作目录内的java程序。

或者你也可以把文件与您一起Test.java并阅读喜欢:

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

这个目录在哪里?我试过这样阅读它,它的工作原理,但我不知道如何将输入流更改为字符串。 –

+0

在这个视频中:http://www.youtube.com/watch?v = x9c8PNLR8AU,这个人把文件放在项目文件夹中,它工作。 –

相关问题