5

ファイルの内容から整数を解析する必要があります。

アルゴリズムをテストするために、宣言された文字列からファイルの内容を提供する場合

String test = "15 kuruş";

Integer.parseIntは正常に機能します。しかし、UTF-8ファイルからScannerクラスを使用して読み取ると、機能せず、例外が発生します

java.lang.NumberFormatException:入力文字列の場合: "15"

注:文字列を「15」と「kuruş」に分割したため、parseIntメソッドは引数として「15」のみを取ります。

サンプルコード:

    satir = satir.trim();//15 kuruş
    StringTokenizer tokenizer = new StringTokenizer(satir," ");
    System.out.println(tokenizer.countTokens());//2
    String s = tokenizer.nextToken();
    int deger = Integer.parseInt(s);//where the exception was throwed
4

1 に答える 1

4

UTF-8ファイルはおそらくBOMで始まります。正しいエンコーディングでファイルを読み取るか、手動で削除する必要があります。

したがって、15の前にBOMがない場合は、機能しInteger.parseInt()ます。

于 2012-12-07T08:13:48.543 に答える