Esiste una costante di Newline definita in Java come Environment.Newline in C #?


199

In C # c'è la proprietà statica Environment.Newline che è cambiata a seconda della piattaforma in esecuzione.

C'è qualcosa di simile in Java?


2
Techniczly dovresti chiedere: in che modo Java rappresenta la proprietà newLine che c # è stata implementata come Environment.Newline quando è stata creata
Peter,

5
ora che rileggo la mia affermazione, mi chiedo perché anch'io mi chiedo cosa stavo pensando
Peter,

Risposte:



88

A partire da Java 7:

System.lineSeparator()

API Java: System.lineSeparator

Restituisce la stringa del separatore di linea dipendente dal sistema. Restituisce sempre lo stesso valore: il valore iniziale della proprietà di sistema line.separator. Sui sistemi UNIX, restituisce "\ n"; su sistemi Microsoft Windows restituisce "\ r \ n".


60

Tieni presente che questa proprietà non è così utile come molte persone pensano che sia. Solo perché la tua app è in esecuzione su un computer Windows, ad esempio, non significa che il file che sta leggendo utilizzerà i separatori di riga in stile Windows. Molte pagine Web contengono una combinazione di "\ n" e "\ r \ n", essendo state messe insieme da fonti disparate. Quando leggi il testo come una serie di linee logiche, dovresti sempre cercare tutti e tre i principali stili di separazione delle linee: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") e Mac pre-OSX ("\ r").

Durante la scrittura di testo, dovresti preoccuparti di come il file verrà utilizzato rispetto alla piattaforma su cui stai eseguendo. Ad esempio, se ti aspetti che le persone leggano il file nel Blocco note di Windows, dovresti usare "\ r \ n" perché riconosce solo un tipo di separatore.


Il Mac pre-OSX ("\ r") è ancora in uso pratico? O è vero dire che può essere tranquillamente "dimenticato"?
Pacerier

6
Bene, indipendentemente dal fatto che le macchine stesse siano ancora in uso, devi supporre che ci siano ancora dei documenti scritti su Mac pre-OSX. So che si sta tentando di accorciare (?:\r?\n|\r)a (?:\r?n), ma no, non credo che sia sicuro. Preferisco (?:\r\n|[\r\n])comunque; So che sono più personaggi, ma sembra più ordinato. : D E se non ti interessa quanti separatori di riga consumi, [\r\n]+funziona perfettamente.
Alan Moore,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.