2014-10-23 5 views
-3

사용자로부터 String 데이터를 가져 와서 파일에 기록하는 파일 작성자가 있습니다. 그러나 파일 작성자는 해당 파일의 기존 데이터를 대체합니다. 어떻게하지 못하게합니까? 나는 단지 무언가를 쓰지 않고 정보를 계속 추가하고 싶습니다.해당 파일의 기존 데이터를 덮어 쓰지 않고 파일에 쓰기

여기에 코드

String info = scan.nextLine(); 
    File myFile = new File ("/home/greg/workspace/Mavericks/fred.txt"); 
    FileWriter writer = new FileWriter (myFile); 
    writer.write(register); 
    writer.flush(); 

감사합니다. 나는 그것을 고쳤다. 이제 저는 작가가 공백을 사용하여 글쓰기를하고 싶습니다. 파일에 쓸 때 동일한 줄 내에서 계속 쓰기 만합니다.

+0

그래서 매번 새로운 줄을 쓰고 싶습니까? – DeiAndrei

+0

각 줄 다음에 '\ n'을 추가하십시오. –

+0

그리고 writer.close()를 잊지 마세요. –

답변

0

사용

new FileWriter(myFile, true) 

두 번째 매개 변수는 추가입니다.

1

추가 할 것인지를 정의하는 FileWriter의 두 번째 매개 변수를 사용하십시오. 그냥 true으로 설정하십시오.

BufferedWriter writer = new BufferedWriter(new FileWriter(
       sFileName, true)); 

각 줄 이후에 \n을 추가하십시오.

0

FileWriter는 추가 여부를해야하는지 여부를 선언하는 constructor의 선택적 부울을 가지고 있습니다.

FileWriter writer = new FileWriter(..., true) 
1

부울 값 true을 사용해야합니다. 문서

에서
public FileWriter(String fileName, 
      boolean append) 
      throws IOException 

는 기록 된 데이터를 추가할지 여부를 나타내는 부울 와 파일명을 지정해 FileWriter 오브젝트를 구축합니다.

매개 변수 :

fileName - 문자열 시스템에 의존하는 파일 이름.

append - 참일 경우 데이터가 처음이 아닌 파일의 끝에 기록됩니다.

관련 문제