2017-11-04 139 views
0

我想使用的扫描仪和文件类从文件读取:的Java:没有这样的文件或目录(使用扫描器类)

import java.util.Scanner; 
import java.io.File; 
import java.io.IOException; 
public class TextFileReaderV1 
{ 
    public static void main(String[] args) throws IOException 
    { 

     String token = ""; 
     File fileName = new File("data1.txt"); 
     Scanner inFile = new Scanner(fileName); 

     while(inFile.hasNext()) 
     { 
      token = inFile.next(); 
      System.out.println(token); 
     } 
     inFile.close();   

    } 
} 

但是,他说:“没有这样的文件或目录”。并给我的“java.io.FileNotFoundException”

我正在使用IntelliJ IDEA和文件是在我工作的当前目录中:src/data1.txt - >旁边的GetFile.java(当前代码)

完整的错误信息:

Exception in thread "main" java.io.FileNotFoundException: data1.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 GetFile.main(GetFile.java:19) 

**编辑:**它已经解决了!运行配置设置为项目目录,而不是src,因此我将其隐式添加到参数中:

File fileName = new File("src/data1.txt"); 
+0

哪条线路会导致错误? –

+0

运行配置中设置的当前工作目录是什么? –

+0

第19行导致错误,当前目录为Documents/Code/Java/Files/FileHandling(Project Name)。在那个目录中,还有.idea,out和src目录,我正在运行src/GetFile.java @ Code-Apprentice –

回答

0

运行配置设置为项目目录,而不是一个SRC,所以我毫无保留地加入它的参数:

File fileName = new File("src/data1.txt"); 
+0

将数据文件与源文件分开通常是一个好主意。 –

+0

我建议学习如何指定要作为命令行参数打开的文件。这使得你的程序更加灵活。 –

-1

尝试输入文件的完整路径。如果这样做,你可以在那个时候完成,或者查看相对文件路径。

相关问题