Javaでファイルを指定行に書き換える

ファイル内の行の内容を編集するには、次の手順に従います。

  1. ファィルパスやパスを通すことで編集するファィルを指定できます。
  2. BufferedReaderクラスを使用して、ファイルの内容を一行ずつ読み込み、各行をリストまたは配列に格納します。
  3. 行数に応じて変更する場合は、目的の行を見つけてください。
  4. 行の内容を変更するには,置換メソッドなどの文字列操作メソッドでその行を編集できます。
  5. 編集した行は元あった行と置換します。
  6. 古い内容を BufferedWriter クラスで書き換える

ファイル中の特定の行の内容を変更する方法を示すサンプルコードを次に示します。

import java.io.*;
import java.nio.file.*;
import java.util.*;
public class ModifyFileLine {
public static void main(String[] args) {
// 指定要修改的文件路径
String filePath = "path/to/your/file.txt";
// 读取文件内容
List<String> lines = new ArrayList<>();
try (BufferedReader reader = Files.newBufferedReader(Paths.get(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
// 修改第三行的内容
int lineNumberToModify = 2; // 第三行的索引为2
String newLineContent = "This is the new content of the third line";
lines.set(lineNumberToModify, newLineContent);
// 将修改后的内容写回到文件中
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(filePath))) {
for (String line : lines) {
writer.write(line);
writer.newLine(); // 写入换行符
}
} catch (IOException e) {
e.printStackTrace();
}
}
}

置換する内容は、改行も含め元のファイルと行数をあわせるようにしてください。ファイルの中身がずれてしまうのを防ぐためです。

bannerAds