나는 한 줄 씩 파일을 읽으며, 필자의 특정 매개 변수에 맞는 줄을 찾으면 (특정 단어로 시작한다면 내 경우에는) 그 줄을 덮어 쓸 수 있도록하려고 노력 중이다.

내 현재 코드 :

try {
    FileInputStream fis = new FileInputStream(myFile);
    DataInputStream in = new DataInputStream(fis);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String line;

    while ((line = br.readLine()) != null) {
        System.out.println(line);
            if (line.startsWith("word")) {
                // replace line code here
            }
    }
} catch (Exception ex) {
    ex.printStackTrace();
}

… 여기서 myFile은 File 객체입니다.

언제나 그렇듯이, 도움, 예제 또는 제안을 많이 주시면 감사하겠습니다.

감사!

우수 답변
여기서 가장 좋은 방법은 파일에서 메모리 (StringBuilder와 같은 것)를 읽고 문자열 파일을 StringBuilder에 표시하는 방법을 쓰는 것입니다. 파일을 완전히 읽은 다음에는 StringBuilder의 내용을 파일에 쓰려고합니다.

파일이 너무 커서 메모리에서이 작업을 수행 할 수없는 경우 항상 파일 내용을 한 줄씩 읽고 StringBuilder 대신 임시 파일에 쓸 수 있습니다. 그런 다음 이전 파일을 삭제하고 임시 파일을 옮길 수 있습니다.