2012-07-17 13 views

Odpowiedz

4

"formacie UNIX" jest po prostu plik tekstowy, który oznacza line endings z \n zamiast \n\r (Windows) lub (Mac \r przed OSX).

Oto podstawowy pomysł; napisać każdą linię, po której następuje wyraźne \n (zamiast .newLine() które jest zależne od platformy):

public static void writeText(String[] text){ 
    Path file = Paths.get("/tmp/filename"); 
    try (BufferedWriter bw = Files.newBufferedWriter(file, StandardCharsets.UTF_8)) { 
    for(String s : text){ 
     bw.write(s); 
     bw.write("\n"); 
    } 
    } catch (IOException e) { 
    System.err.println("Failed to write to "+file); 
    } 
} 
+3

Zamiast używać '\ n' lub' \ r \ n', użyj 'System.getProperty (" line.separator ")'. –

+0

Dzięki dimo414 i Eng.Fouad. Powyższy przykład bardzo pomógł. – Piyush

+2

@ Eng.Fouad Ogólnie rzecz biorąc, prawda, ale jeśli chcesz mieć plik w formacie Unix, niezależnie od tego, z jakiego systemu operacyjnego korzystasz, użyjesz '\ n' jawnie. Uzyskanie separatora linii systemu oznacza inne zachowanie w zależności od systemu operacyjnego, na którym uruchamiasz program. – dimo414

Powiązane problemy