我有一个包含这样的文件:
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
)。
如何动态阅读整个文件?
答案 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?