자바 효율적인 방법으로 텍스트 파일 자동 저장

user6115152 :

나는 '자동 저장'기능이있는 텍스트 편집기를 만들려고하고 있습니다. 그런 다음 사용자가 현재 텍스트를 변경 (예를 들어, 추가 또는 삭제 문자, 단어, 라인 등)를하게 할 때마다 변경 사항이 즉시뿐만 아니라 텍스트 파일에 적용되어야한다는 것을이 의미합니다.

나는 텍스트의 변경을 감지하는 자바 FX에서 "텍스트 영역"컨트롤을 사용합니다. 또한, 나는 변화가 감지 될 때마다, 처음부터, 파일에 새 텍스트를 작성하는 BufferedWriter의를 사용합니다. BufferedWriter의 모든 다시 쓰기 처음부터 텍스트 것 때문에, 나에게 올바른 것 같지 않습니다. 텍스트가 너무 큰 경우에 성능 문제가 발생할 것입니다.

사람이 구현하는 방법의 더 나은 아이디어가 있습니까? 미리 감사드립니다.

ControlAltDel :

트릭은 타이머를 사용하고 문서가 수정 된 경우에만 업데이트를 작성하는 것입니다.

이 예는 스윙 구성 요소와 작품을 제공하지만, 다른 프레임 워크에 적용 할 수 있습니다

boolean dirtyFlag = false; // set true if the document is altered
DocumentListener dl = new DocumentListener() { ... // implement all methods and set dirtyFlag = true in each
TimerTask task = new TimerTask() {
  public void run() {
    //save the file
  }
}
Timer t = new Timer();
t.scheduleAtFixeRate(task, ..., ...);

추천

출처http://43.154.161.224:23101/article/api/json?id=22772&siteId=1