2012-10-06 39 views
0

可能重複使用掃描儀:
Validating input using java.util.Scanner當一個文件以一個空行開始

我在一個目錄下一堆文件的閱讀。我想用掃描儀來檢查大部分文件,但是我一直在收到NoSuchElementExceptions,我很積極,因爲有些文件是以空行開始的。

如何繞過這個掃描儀,這樣我可以讀取文件的其餘部分沒有任何問題?

+0

顯示一些代碼.. –

回答

0

如果你確定,第一行是空白的,那麼你可以簡單地使用:

String line = scanner.nextLine(); 

跳過第一道防線。如果這僅發生在一些文件,那麼你可以使用檢查內容:

line.isEmpty() 
0

即使使用掃描儀應該工作讀取文件最簡單的方法,這樣的事情將正常工作:

public void getFile(File file) { 

    Scanner sc = null; 
    try { 
     sc = new Scanner(file); 
     if(sc.hasNext()) 
      System.out.println(sc.next()); 

    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } finally { 
     if(sc!=null) sc.close(); 
    } 

} 

即使第一行爲空,這也不會有任何問題

0

您確定這是空白行嗎?

我剛剛測試了一個非常小的Java程序,我認爲你不檢查是否有下一行。

嘗試類似的hasNext()方法:

while (scan.hasNext()) { 
//Your code 
} 

這將檢查,看看是否有nextLine文件中它試圖解析它之前。

+0

我做到了。我做了.hasNext()和.hasNextLine()的打印。 都出來了假。但是當我看着這個文件時,那裏有東西。 – marcinx27

相關問題