すべてが文字列であればうまく動作するCSVファイルを読み込んでいます。しかし、私はしようとすると、それはもはや動作しますファイルから整数を解析します。スレッド "main"の例外java.lang.NumberFormatException:入力文字列: "1"
Scanner scanner = new Scanner(new File("top250.csv"));
scanner.useDelimiter(",");
while(scanner.hasNextLine()){
String line = scanner.nextLine();
System.out.println(line);
String[] parts = line.split(",");
String rank = parts[0].trim();
System.out.println(rank);
int real_rank = Integer.parseInt(rank);
}
出力:
1, The Shawshank Redemption ,9.2,1994
1
Exception in thread "main" java.lang.NumberFormatException: For input string: "1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at movieranker.MovieRanker.createData(MovieRanker.java:45)
at movieranker.MovieRanker.main(MovieRanker.java:25)
あなたのコードにエラーはありません、ただscanner.useDelimiter( "、");奇妙です。これを使うと、すべての行に1つのセクションが与えられます。だから私はかなりコードと出力が一致していないことを確認しています。再チェックして編集してください! –
"1"は何文字ですか?多分、あなたが貼り付けることができない印刷可能な文字がいくつかあります。それはtrim()によって捕らえられません。 –
チェックするだけで、完全なコードを送ってください。 –