2016-07-14 44 views
1

我還想寫文件中JAVA的Java FileUtils.writeLines與新線ANSI格式爲CR LF

  • 編碼:ANSI
  • 新線:CR LF

例子:

FileUtils.writeLines(new File(baseFolder.getAbsolutePath() + File.separatorChar + filename), data); 

我使用Apache FileUtils.writeLines但它始終是在UTF-8ANSI和新行LF而不是CR LF

服務器是LinuxWindows

+0

看一看http://stackoverflow.com/questions/3708991/setting-java-vm-line-separator和讀取超出公認的答案。 –

回答

2

調用的writeLines適當的過載,在以正確的順序的參數:

public static void writeLines(File file, 
      String encoding, 
      Collection<?> lines, 
      String lineEnding) 
        throws IOException 

例如

FileUtils.writeLines(
    new File(baseFolder.getAbsolutePath(), filename), 
    "Cp1252", 
    data, 
    "\r\n"); 

注意,Windows ANSI ISN實際上是調用Java中Cp1252,根據this answer


你傳入的編碼作爲最後一個參數來this overload,這實際上是結束參數的行。

public static void writeLines(File file, 
      Collection<?> lines, 
      String lineEnding) 
        throws IOException 
+0

謝謝,非常好的答案 – mbrc