用java代码实现读取一个文件中所以的txt文件逐行读取txt文件中的内容清除所以空格和换行,判断如果读取到[INTRO]时,之后的读取内容方式改为两行读取内容
时间: 2023-07-18 08:40:46 浏览: 100
JAVA实现读取txt文件内容的方法
5星 · 资源好评率100%
好的,下面是一个Java代码示例,可以实现读取一个文件中所有的txt文件,并逐行读取txt文件中的内容,清除所有空格和换行符,并在读取到[INTRO]时改变读取方式,改为读取两行内容:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class TxtReader {
public static void main(String[] args) {
// 读取的文件夹路径
String folderPath = "path/to/folder";
// 判断文件夹是否存在
File folder = new File(folderPath);
if (!folder.exists() || !folder.isDirectory()) {
System.out.println("文件夹不存在!");
return;
}
// 遍历文件夹中所有的txt文件
File[] files = folder.listFiles((dir, name) -> name.endsWith(".txt"));
for (File file : files) {
System.out.println("读取文件:" + file.getName());
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
boolean isIntro = false;
while ((line = br.readLine()) != null) {
// 判断是否读取到[INTRO],如果是,改变读取方式
if (line.contains("[INTRO]")) {
isIntro = true;
continue;
}
// 清除空格和换行符
String content = line.replaceAll("\\s+", "");
System.out.println(content);
// 如果读取到[INTRO],则下一行读取两行内容
if (isIntro) {
line = br.readLine();
if (line != null) {
System.out.println(line.replaceAll("\\s+", ""));
}
line = br.readLine();
if (line != null) {
System.out.println(line.replaceAll("\\s+", ""));
}
isIntro = false;
}
}
System.out.println("文件读取结束!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
您只需要将`path/to/folder`替换为您需要读取的文件夹路径即可。这段代码会遍历文件夹中所有的txt文件,逐行读取每个文件的内容,清除空格和换行符,并在读取到[INTRO]时改变读取方式,改为读取两行内容。
阅读全文