In C # c'è la proprietà statica Environment.Newline che è cambiata a seconda della piattaforma in esecuzione.
C'è qualcosa di simile in Java?
In C # c'è la proprietà statica Environment.Newline che è cambiata a seconda della piattaforma in esecuzione.
C'è qualcosa di simile in Java?
Risposte:
A partire da Java 7 (e Android API livello 19):
System.lineSeparator()
Documentazione: Java Platform SE 7
Per le versioni precedenti di Java, utilizzare:
System.getProperty("line.separator");
Vedi https://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html per altre proprietà.
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".
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.
(?:\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.