0

次のようなファイルがあります。

Hello;my name;is Marco
I want;some cheese
Hi
this;is;a;test

ご覧のとおり、。で区切られた単語がいくつかあります;。行の要素数は固定されていないため、各行を動的に読み取る方法が必要です。String split私が読んでいる各行に対して、この方法でメソッドを使用してみました。

String supp = "";
while((supp = read.split(";")[i]) != null){
     i++;
}
System.out.println("Number of elements: " + i);

しかしもちろん、それは機能していません(ArrayIndexOutOfBoundsException)。

ファイル全体を動的に読み取るにはどうすればよいですか?

4

1 に答える 1

3

split配列を提供するので、それを使用する必要があります。

String[] parts = read.split(";");
System.out.println("Number of elements: " + parts.length);

インデックスを使用して配列のサイズを確認しないでください。各配列にはlength、そのサイズを示すフィールドがあります。

ファイルを読み取る必要がある場合は、BufferedReaderファイルを1行ずつ読み取るための便利な方法を使用できます。この質問を確認してください:Javaを使用して大きなテキストファイルを1行ずつ読み取る方法は?

于 2013-02-04T11:09:22.350 に答える