bufferedreader删减文件某一行
时间: 2023-09-20 10:05:07 浏览: 39
要删除文件中的某一行,可以按照以下步骤:
1. 创建一个临时文件,用于保存删除后的文件内容。
2. 使用 BufferedReader 读取原始文件的内容,逐行读取并判断是否是要删除的那一行。
3. 如果不是要删除的那一行,则将该行内容写入临时文件中。
4. 最后关闭 BufferedReader 和写入临时文件的 BufferedWriter,删除原始文件,将临时文件重命名为原始文件。
下面是示例代码:
```java
import java.io.*;
public class DeleteLineFromFile {
public static void main(String[] args) throws IOException {
String filePath = "test.txt"; // 文件路径
int lineToRemove = 3; // 要删除的行号
File inFile = new File(filePath);
File tempFile = new File(inFile.getAbsolutePath() + ".tmp");
BufferedReader br = new BufferedReader(new FileReader(filePath));
BufferedWriter bw = new BufferedWriter(new FileWriter(tempFile));
String line;
int lineNumber = 1;
while ((line = br.readLine()) != null) {
if (lineNumber != lineToRemove) {
bw.write(line);
bw.newLine();
}
lineNumber++;
}
br.close();
bw.close();
if (!inFile.delete()) {
System.out.println("Could not delete file");
return;
}
if (!tempFile.renameTo(inFile)) {
System.out.println("Could not rename file");
}
}
}
```
在上面的示例代码中,我们将第三行从文件中删除。你可以根据实际需求更改要删除的行号或文件路径。