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

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

如何动态读取整个文件?

最佳答案

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/

相关文章:

string - 从具有重复结构的字符串中提取值

python - 在 Python 中将 Number 与 Word 分离并返回新列表

c++ - stringstream >> 不一致的 '\n' 定界符行为

javascript - DOJO 和 DIJIT 无法解析相同的 ID 两次?

java - 获取正在执行的类的文件系统路径

Java:Collection-如何创建多列

c# - 在 C# 中动态创建和公开 SOAP 服务及其 WSDL(使用自定义 TCP 监听器!)

vba - 删除项目 "Object required"excel VBA

java - 我需要帮助,在使用 JFrames 和 DrawWindows 时不要使用暴力

java - Android Studio with libGdx(Java) - 音乐可以在 Android 模拟器上运行,但不能在桌面上运行