2017-12-22 19 views
0

私はtxtを持っており、スキャンしたいので、整数を読み込むたびに、すでに作成した配列に入力します。ファイルに無効な値/文字が含まれていると、Javaが例外をスローする

たとえば、文字列、倍精度、空の行など、int以外の値を読み取ると例外はスローされますか?

これは私がファイルを読み込む方法です、そして配列を完了します。

file= new Scanner(new File(file_name)); 

    int[] txt = new int[cnt]; // cnt , the number of lines in my txt 

    while (file.hasNextInt()) { 
     txt[count] = file.nextInt(); 
     count++; 
    } 

hasNext()

+2

は、javadocを読みます他のものを処理したい場合は 'nextInt'と' hasNextInt'を使わないでください –

答えて

4

変更hashNextInt() :)ありがとうと要求したとして、あなたが例外を取得します、

while (file.hasNextInt()) { 

~

while (file.hasNext()) { 
0

あなたが例外をスローせずに問題を検出したい場合は、エリオットの答えに追加:

while (file.hasNext()) { 
     if (file.hasNextInt()) { 
      txt[count] = file.nextInt(); 
      count++; 
     } else { 
      System.error.println(file.next() + " is not an int"); // also skips bad data 
     } 
    } 

(ヒント:読み取りとロジックを理解しよう....)

関連する問題