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 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 l' API Java 1.8 pour Formatter pour plus de détails.
%
des entrées utilisateur!
String.format(s + "%n")
est facilement résolu par String.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 que eval()
).
Java 7 dispose désormais d'une System.lineSeparator()
méthode.
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)
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 économiser quelques octets.
\r\n
La bibliothèque commons-lang a un champ constant disponible appelé SystemUtils.LINE_SEPARATOR
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 indépendamment des plates-formes.
Si vous écrivez dans un fichier à l'aide d'une BufferedWriter
instance, utilisez la newLine()
méthode de cette instance. Il fournit un moyen indépendant de la plate-forme d'écrire la nouvelle ligne dans un fichier.
Évitez d'ajouter des chaînes à l'aide de String + String, etc., utilisez plutôt StringBuilder.
String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
string + string
».