2017-11-04 140 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

嘗試輸入文件的完整路徑。如果這樣做,你可以在那個時候完成,或者查看相對文件路徑。

相關問題