两行读取内容时不能有空格
时间: 2024-03-20 08:42:21 浏览: 63
好的,针对您的要求,我对之前的Java代码进行了改进,确保在读取两行内容时不会出现空格:
```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;
String tmpLine = "";
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) {
if (tmpLine.equals("")) {
tmpLine = line.replaceAll("\\s+", "");
} else {
System.out.println(tmpLine);
System.out.println(line.replaceAll("\\s+", ""));
tmpLine = "";
isIntro = false;
}
}
}
System.out.println("文件读取结束!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
这个版本的代码在读取两行内容时,会把第一行和第二行的空格都清除掉,然后再输出。如果第一行和第二行都为空格,则不输出任何内容。
阅读全文