Comment obtenir une nouvelle ligne dépendante de la plate-forme en Java? Je ne peux pas utiliser "\n"
partout.
Outre la propriété line.separator, si vous utilisez Java 1.5 ou une version ultérieure, ainsi que le String.format (ou autre mise en forme ) vous pouvez utiliser %n
comme dans
Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY%n", c);
//Note `%n` at end of line ^^
String s2 = String.format("Use %%n as a platform independent newline.%n");
// %% becomes % ^^
// and `%n` becomes newline ^^
Voir le API Java 1.8 pour Formatter pour plus de détails.
Java 7 a maintenant une méthode System.lineSeparator()
.
Vous pouvez utiliser
System.getProperty("line.separator");
pour obtenir le séparateur de ligne
Si vous essayez d'écrire une nouvelle ligne dans un fichier, vous pouvez simplement utiliser la méthode newLine () de BufferedWriter.
Ceci est également possible: String.format("%n")
.
Ou String.format("%n").intern()
pour sauvegarder des octets.
La bibliothèque commons-lang a un champ constant appelé SystemUtils.LINE_SEPARATOR
Si vous écrivez dans un fichier à l'aide d'une instance BufferedWriter
, utilisez la méthode newLine()
de cette instance. Il fournit un moyen indépendant de la plate-forme pour écrire la nouvelle ligne dans un fichier.
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
L'extrait ci-dessus aura deux chaînes séparées par une nouvelle ligne, quelles que soient les plates-formes.