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使用方便的方法来逐行读取文件。检查这个问题:How to read a large text file line by line using Java?

于 2013-02-04T11:09:22.350 回答