如何让bufferedreader两行两行读取
时间: 2023-08-15 21:05:24 浏览: 64
你可以使用 `readLine()` 方法来读取文本文件中的每一行,并将其存储在一个字符串中。如果你想一次读取两行,可以使用一个循环,在每次迭代中调用两次 `readLine()` 方法,将其存储在两个不同的字符串变量中。以下是一个示例代码:
```
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line1, line2;
while ((line1 = reader.readLine()) != null && (line2 = reader.readLine()) != null) {
// 处理这两行文本
}
reader.close();
```
在这个示例中,`reader.readLine()` 方法会读取文件中的一行文本并将其存储在 `line1` 变量中。在同一个循环迭代中,它会再次调用 `reader.readLine()` 方法来读取下一行,将其存储在 `line2` 变量中。当读到文件末尾时,`readLine()` 方法将返回 `null`,循环将停止。
相关问题
两行读取内容时不能有空格
好的,针对您的要求,我对之前的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();
}
}
}
}
```
这个版本的代码在读取两行内容时,会把第一行和第二行的空格都清除掉,然后再输出。如果第一行和第二行都为空格,则不输出任何内容。
如何让bufferedreader逐行读取文件。打印完前两行后等待用户按下回车再打印接下来的两行
你可以使用 `readLine()` 方法来逐行读取文本文件中的内容,并使用 `System.in.read()` 方法等待用户按下回车键后再继续打印下两行内容。以下是一个示例代码:
```
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line;
int count = 0;
while ((line = reader.readLine()) != null) {
System.out.println(line);
count++;
if (count % 2 == 0) {
System.out.println("Press Enter to continue...");
System.in.read();
}
}
reader.close();
```
在这个示例中,`reader.readLine()` 方法会读取文件中的一行文本并将其存储在 `line` 变量中。在每次循环迭代中,程序会打印出这一行文本,并将计数器 `count` 的值加 1。如果 `count` 的值是偶数,则程序会输出提示信息并等待用户按下回车键后再继续。当读到文件末尾时,`readLine()` 方法将返回 `null`,循环将停止。