2016-07-14 7 views
1

Ich möchte DateiJava FileUtils.writeLines in ANSI-Format mit der Linie New als CR LF

  • Encoding in JAVA schreiben: ANSI
  • Neue Linie: CR LF

Beispiel:

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

ich verwende Apache FileUtils.writeLines aber es ist immer in UTF-8 nicht ANSI und neue Zeile als LF und nicht CR LF?

Server ist nicht LinuxWindows

+0

Werfen Sie einen Blick auf http://stackoverflow.com/questions/3708991/setting-java-vm-line-separator und über die akzeptierte Antwort lesen. –

Antwort

2

die entsprechende Überlastung der writeLines Invoke, mit den Parametern in der richtigen Reihenfolge:

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

z.B.

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

Beachten Sie, dass Windows-ANSI tatsächlich Cp1252 in Java genannt ISN nach this answer.


Sie passieren die Codierung als letzten Parameter zu this overload, die tatsächlich die Linie Parameter endet.

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

danke, sehr gute Antwort – mbrc

Verwandte Themen