2012-05-19 6 views
14

우리는 질문에 snipit 코드를 추가해야한다고 알고 있습니다. 그러나 나는 심각하게 어수가되어 내 머리를 감싸거나 뒤따라야 할 예제를 찾을 수 없습니다.자바 파일 - 파일 열기 및 쓰기

기본적으로 내용이 이미있는 C : \ A.txt 파일을 열고 끝에 문자열을 쓰고 싶습니다. 기본적으로 이렇게.

파일 a.txt이 다음이 포함

더 코드 예를 들어
John 
Bob 
Larry 
Sue 

죄송합니다, 내 머리입니다 : 파일이 이제 포함되어 있으므로

John 
Bob 
Larry 

내가 그것을 열고 말에 고소를 작성하려면 죽은 아침 ....

+13

아이 게시물은 괴짜와 찌르다에 있습니다! http://geek-and-poke.com/geekandpoke/2013/11/10/indirection – Lai

답변

32

Larry Page와 Sergey Brin이 전 세계에 제공 한 Google을 검색하십시오.

BufferedWriter out = null; 
try 
{ 
    FileWriter fstream = new FileWriter("out.txt", true); //true tells to append data. 
    out = new BufferedWriter(fstream); 
    out.write("\nsue"); 
} 
catch (IOException e) 
{ 
    System.err.println("Error: " + e.getMessage()); 
} 
finally 
{ 
    if(out != null) { 
     out.close(); 
    } 
} 
+11

먼저 Google을 확인 했으므로 여기에서 나를 안내했습니다.) – Josh

11

제안 :

  • 디스크의 기존 파일을 참조하는 File 오브젝트를 작성하십시오.
  • FileWriter 개체를 사용하고 File 개체와 부울을 사용하는 생성자를 사용합니다. true이 있으면 파일에 텍스트를 추가 할 수 있습니다.
  • 그런 다음 FileWriter에서 전달하는 PrintWriter을 생성자로 초기화합니다.
  • 그런 다음 PrintWriter에서 println(...)으로 전화하여 새 텍스트를 파일에 씁니다.
  • 언제나 그렇듯이 리소스를 완료 한 후에는 PrintWriter를 닫으십시오.
  • 항상 그렇듯이 예외를 무시하지 말고 예외를 catch하고 처리하십시오.
  • PrintWriter의 close()은 try의 finally 블록에 있어야합니다. 예를 들어,

,

PrintWriter pw = null; 

    try { 
    File file = new File("fubars.txt"); 
    FileWriter fw = new FileWriter(file, true); 
    pw = new PrintWriter(fw); 
    pw.println("Fubars rule!"); 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } finally { 
    if (pw != null) { 
     pw.close(); 
    } 
    } 

쉬운, 아니?

3

당신이 이런 식으로 작업을 수행 할 수 있습니다 씨 뱀장어 코멘트에 확장하려면 :

File file = new File("C:\\A.txt"); 
    FileWriter writer; 
    try { 
     writer = new FileWriter(file, true); 
     PrintWriter printer = new PrintWriter(writer); 
     printer.append("Sue"); 
     printer.close(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

우리가 나중에 좋은 아니라고하지 마십시오!

+3

1 ~ 나중에하지만 try 블록이 아닌 finally 블록에서 인쇄 작성기를 닫는 것을 잊지 마십시오. 매달려있는 자원은 원하지 않습니다. 내 뜻을보기 위해 내보기를 보아라. –