2014-03-13 5 views
1

TextArea에서 가져온 문자열이 있습니다. 이 문자열에는 사용자 입력 뉴 라인이 포함됩니다. 그 줄 바꿈을 포함하여 전체 문자열을 파일에 쓰려고합니다.파일에 줄 바꿈이있는 문자열 쓰기

이것은 내가 지금 무엇을 가지고 :

 FileWriter fw = new FileWriter(nm + ".txt"); 
     PrintWriter pw = new PrintWriter(fw); 
     pw.print(txt); 
     pw.close(); 

내가 봤했지만 나는 내 문제를 해결할 수있는 방법에 대한 단서가 없다.

+2

이 작동합니다 파일에 기록 할 때 당신이 당신의 인코딩을 지정하지 않은 사실에 대한 저장 : 자바 7 사용하는 경우

어쨌든, 당신은 Files를 사용해야합니다. 문제는 정확히 무엇입니까? – fge

+0

필자가 매번 새 줄에 "test"를 3 번 ​​입력하고 내 응용 프로그램에 파일을 저장한다고하면 나중에 메모장에서 파일을 열 때 "testtesttest"라고 표시됩니다. –

+0

메모장이 때때로 혼동을 줄 수 있습니다. 윈도우에서'\ r \ n' 문제. –

답변

0

이 방향 참조 :

1. System.getProperty("line.separator"); 
2. System.lineSeparator(); 

예를 들어 :

pw.print(txt.replace("\n", System.lineSeparator()).replace("\r\n", System.lineSeparator())); 
0

당신은 당신의 코드에 문제가 없습니다. ...

final Path path = Paths.get(nm + ".txt"); 

try (
    BufferedWriter writer = Files.newBufferedWriter(path, StandardCharsets.UTF_8, 
     StandardOpenOption.APPEND, StandardOpenOption.CREATE_NEW); 
) { 
    writer.write(txt); 
    writer.flush(); 
}