使用java String.split从文件中动态读取

时间:2013-02-04 11:06:35

标签: java string dynamic split

我有一个包含这样的文件:

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)。

如何动态阅读整个文件?

1 个答案:

答案 0 :(得分: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?