2014-03-13 99 views
1

我有一個字符串,我從TextArea中獲得。該字符串包含用戶輸入換行符。我想將整個字符串(包括那些換行符)寫入一個文件。使用換行符寫入字符串到文件

這是我現在有:

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

我GOOGLE了,但我不知道,我怎麼能解決我的問題。

+2

這應該工作...保存的事實,寫入文件時不指定編碼。那麼,究竟是什麼問題呢? – fge

+0

如果我說,每次在新行上輸入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

你應該沒有問題與您的代碼。

無論如何,如果你使用的Java 7,你應該使用Files

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(); 
}