我有一个包含以下内容的文件:
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
)。
如何动态读取整个文件?
最佳答案
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?
关于java - 使用 java String.split 从文件动态读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685427/