java 修改txt文件中某一行的内容
时间: 2024-02-04 20:02:55 浏览: 27
可以使用Java的IO流来读取和修改txt文件中某一行的内容。具体步骤如下:
1. 使用BufferedReader类读取txt文件,并将每一行内容存储在List<String>中。
```java
List<String> lines = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
```
2. 修改List<String>中需要修改的行的内容。
```java
int lineToModify = 3; // 修改第3行
String newLineContent = "new line content";
lines.set(lineToModify - 1, newLineContent); // 注意List的索引从0开始,而行数从1开始,因此需要减1
```
3. 使用BufferedWriter类将修改后的内容写回txt文件中。
```java
try (BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"))) {
for (String line : lines) {
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
```
完整代码如下:
```java
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class ModifyTxtFile {
public static void main(String[] args) {
List<String> lines = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
int lineToModify = 3; // 修改第3行
String newLineContent = "new line content";
lines.set(lineToModify - 1, newLineContent);
try (BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"))) {
for (String line : lines) {
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```