BufferedReader如何读取上一行
时间: 2023-12-21 17:51:09 浏览: 64
您可以使用BufferedReader类的readLine()方法来读取文件的每一行,并且使用mark()和reset()方法来返回上一行。具体代码如下:
```java
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line = null;
while ((line = reader.readLine()) != null) {
if (line.startsWith("test")) {
reader.mark(100); // 设置当前位置为mark位置 记录一下当前位置
} else if (line.startsWith("end")) {
reader.reset(); // 返回上一个mark位置的位置
String previousLine = reader.readLine();
System.out.println("Previous line: " + previousLine);
}
}
```
注意:该方法需要先读取下一行才能返回上一行,因为mark()方法记录的是当前位置。
相关问题
BufferedReader如何读取下一行
BufferedReader对象可以使用readLine()方法读取下一行。如下所示:
```
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
String line = br.readLine();
```
readLine()方法将返回文件中的下一行字符串。如果已经到达文件结尾,则会返回null。
BufferedReader 读取第一行并获取列数
可以使用以下代码读取第一行并获取列数:
```java
try {
BufferedReader reader = new BufferedReader(new FileReader("filename.txt"));
String line = reader.readLine();
int numColumns = line.split(",").length;
System.out.println("Number of columns: " + numColumns);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
```
其中,"filename.txt" 是要读取的文件名,假设文件中使用逗号分隔数据。首先使用 BufferedReader 读取第一行数据,然后使用 split() 方法将其拆分为一个字符串数组,并使用 length 属性获取数组长度,即为列数。最后记得关闭 BufferedReader。