我有一个txt文本,我把它用io流打开,在while ((st = bfr.readLine()) != null)的循环中对st进行一个判断,如果st以“第x章”为开头,则把st添加到list数组中,求java代码实现
时间: 2024-02-20 13:00:16 浏览: 142
用java实现在txt文本中写数据和读数据的方法
可以使用以下代码实现:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ChapterReader {
public static void main(String[] args) {
List<String> chapters = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
if (line.matches("^第\\d+章.*")) { // 判断是否以“第x章”为开头
chapters.add(line);
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(chapters);
}
}
```
其中,使用正则表达式判断是否以“第x章”为开头,如果是,则将该行添加到章节列表中。最后打印输出所有的章节。
阅读全文