Właśnie przeglądałem pytania i znalazłem System.getProperty(line.separator)
użyte zamiast \n
z komentarzem autora, że kod był "przenośny". Czytając różne fora, widziałem dwie grupy: ni r wydaje się działać wszędzie. Dlaczego line.separator jest bardziej przenośny?
- Ludzie, którzy twierdzą, że istnieje różnica między interpretacją znaków nowej linii przez Linuksa i Windowsa, a to rekompensuje (bez wyraźnych dowodów).
- Ludzie, którzy twierdzą, że nie ma różnicy, pokazując kod i przykłady wyników, co oczywiście odnosi się tylko do tego przykładu kodu, a nie do wszystkich.
Mam wrażenie, że jest to prawdopodobnie niestandardowy system operacyjny, na przykład na przykład system operacyjny skanera Twojej firmy, gdzie zauważysz różnicę. Kiedy zobaczę różnicę między \n
a line.separator
? Czy możesz pokazać przykład? Jak udało Ci się odkryć, gdzie występuje zmiana?
Spróbuj napisać kilka plików tekstowych, z "\ n", jednym z '\ r' iz' \ n \ r' jako zakończeniami linii, otwórz to w Notatniku w systemie Windows, aby zobaczyć różnicę – MadProgrammer
Windows i Unix rzeczywiście różne kody końca linii. Różnica ta pojawi się lub nie pojawi się w zależności od aplikacji konsumującej. –
Separatory linii są również bardzo ważne w niektórych protokołach sieciowych. Najlepiej szanować standardy. – Palpatim