2013-07-04 3 views
1

파일 이름이 250 행입니다. 나는 단지 내가이 게시물 How to append text to an existing file in Java파일의 특정 줄 뒤에 텍스트를 삽입하는 방법

그러나와에 있습니다

try { 
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("outfilename", true))); 
    out.println("the text"); 
    out.close(); 
} catch (IOException e) { 
    //oh noes! 
} 

같은 파일 의 끝에 텍스트를 추가 할 수 있다는 것을 발견 128

줄 뒤에 텍스트를 삽입하고 싶었다 줄 번호 또는 sth에 아무 언급도.

답변

4

파일 시스템이 작동하는 방식 때문에 파일 중간에 텍스트를 삽입 할 방법이 없습니다. 이들은 파일의 데이터 블록을 수정하고 파일의 끝에서 블록을 추가 및 제거하는 작업을 구현합니다. 그들이 구현하지 않는 것은 inherent complexities of these operations 때문에 다른 곳으로 데이터 블록을 추가하거나 제거하는 것입니다.

첫 번째 125 줄을 새 파일로 복사하고 추가 할 내용을 추가 한 다음 나머지 파일을 복사하십시오. 원하는 경우 임시 파일을 누적하지 않도록 새 파일의 이름을 이전 파일로 바꿀 수 있습니다.

+0

제안하는 코드는 무엇입니까? – jechaviz

1

원본 파일을 읽고 새 줄이 삽입 된 임시 파일에서 내용을 쓸 수 있습니다. 그런 다음 원본 파일을 삭제하고 임시 파일의 이름을 원래 파일 이름으로 바꿉니다.

관련 문제