Comment obtenir une nouvelle ligne dépendante de la plate-forme en Java? Je ne peux pas l'utiliser "\n"
partout.
java
cross-platform
newline
eol
Spoike
la source
la source
Réponses:
En plus de la propriété line.separator, si vous utilisez java 1.5 ou version ultérieure et String.format (ou d'autres méthodes de formatage ), vous pouvez utiliser
%n
comme dansVoir l' API Java 1.8 pour Formatter pour plus de détails.
la source
%
des entrées utilisateur!String.format(s + "%n")
est facilement résolu parString.format("%s%n", s)
. Il est toujours risqué d'impliquer la saisie de l'utilisateur comme corps de format (de la même manière queeval()
).Java 7 dispose désormais d'une
System.lineSeparator()
méthode.la source
lineSeperator(int)
qui renvoie un certain nombre de séparateurs de ligne, car je me retrouve souvent à utiliser 2 à la fois.String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Vous pouvez utiliser
pour obtenir le séparateur de ligne
la source
System.lineSeparator()
détails sur Java 7 alors voici une réponse définitive à cette question?Si vous essayez d'écrire une nouvelle ligne dans un fichier, vous pouvez simplement utiliser la méthode newLine () de BufferedWriter .
la source
Ceci est également possible:
String.format("%n")
.Ou
String.format("%n").intern()
pour économiser quelques octets.la source
notepad
n'est pas le bon outil pour afficher le contenu d'un fichier. Utilisezhexdump
ouod
.\r\n
La bibliothèque commons-lang a un champ constant disponible appelé SystemUtils.LINE_SEPARATOR
la source
L'extrait ci-dessus aura deux chaînes séparées par une nouvelle ligne indépendamment des plates-formes.
la source
Si vous écrivez dans un fichier à l'aide d'une
BufferedWriter
instance, utilisez lanewLine()
méthode de cette instance. Il fournit un moyen indépendant de la plate-forme d'écrire la nouvelle ligne dans un fichier.la source
Évitez d'ajouter des chaînes à l'aide de String + String, etc., utilisez plutôt StringBuilder.
la source
string + string
».