2015-10-24 65 views
0

我是一個新手,我只是試圖打開一個文件,使用JFileChooser然後使用掃描儀進行分析。我需要打開的File是一個充滿了用選項卡分隔的信息的.txt文件('\t')。我不知道爲什麼我有NoSuchElementException,因爲println顯示文件名。我在這裏提供了一個樣例來解決問題。感謝您的支持和幫助!歡迎任何解釋。NoSuchElementException當試圖從掃描儀獲取信息

JFileChooser choice = new JFileChooser(); 

    int returnValue = choice.showOpenDialog(null); 

    if(returnValue == JFileChooser.APPROVE_OPTION){ 

     File file = choice.getSelectedFile(); 
     System.out.println("You chose : " + file.getName()); 

     try{ 

      Scanner readedFile = new Scanner(file).useDelimiter("\\t"); 
      //I tried \t and \\t 
      System.out.print(readedFile.next()); //Crash Here, crash with .nextLine too 

     }catch(FileNotFoundException e){ 
      e.printStackTrace(); 
     }   
    } 

THANKS !!!!!編輯: 感謝MIW的快速答案。好像老師給我們一個不好的檔案。我自己創建一個文件,它的工作原理。

+0

可以請你還是讓我知道什麼是在打印「你選擇:」 –

+0

您選擇XXX.txt – AltCapwn

+0

其完整的文件路徑名或文件名只 –

回答

0

您確定收到「NoSuchFileException」嗎?這是來自nio軟件包,這在這裏並不重要。

當我運行你的代碼時,它會打印一個「NoSuchElementException」(當使用一個沒有任何\ t的文件時)或者打印第一個令牌並退出。

我想你應該檢查你選擇的文件,看看它是否實際上包含你想要的內容。

我覺得你的代碼應該使用\噸(不\ t)

+0

感謝您的回答!是的,事實上這是一個NoSuchElementException。 – AltCapwn

+0

並且\ t或\ t也是這樣做 – AltCapwn

+0

這意味着掃描儀找到並讀取文件,但內容不是掃描儀所期望的。 – miw