私のコードは次のとおりです。
public static void main(String args[]) throws IOException
{
String name;
int population;
String[] tokens;
FileReader fin = new FileReader("Test.txt");
Scanner src = new Scanner(fin);
src.useDelimiter(",");
while (src.hasNextLine())
{
if (src.hasNext())
{
tokens = src.nextLine().split(",\\s");
name = tokens[0];
population = Integer.parseInt(tokens[1].trim());
System.out.printf("Name:%-15s %-15d\n", name, population);
} else
{
String str = src.next();
if (str.equals(""))
{
break;
} else
{
System.out.println("File format error.");
return;
}
}
}
System.out.println("end");
fin.close();
}
私のテスト ファイルでは、州名の後にコンマ、スペース、人口、そしておそらく人口の後にランダムなスペースが続くだけです。私の出力結果は
..... 名前:バージニア 7100702
名前:ワシントン 5908684
名前:ウェスト バージニア 1813077
名前:ウィスコンシン 5371210
名前:ワイオミング 495304
スレッド「メイン」での例外 java.lang.ArrayIndexOutOfBoundsException: 1 at javatesters.JavaTesters.main(JavaTesters.java: 35) Java 結果: 1 ビルド成功 (合計時間: 0 秒)
私のテストファイルの終わりは
バージニア 7100702
ワシントン 5908684
ウェストバージニア 1813077
ウィスコンシン 5371210
ワイオミング 495304総配分人口 281424177 435
そして、空白行でファイルの終わりを示したい