Question Comment puis-je obtenir un nouveau caractère de ligne dépendant de la plate-forme?


Comment puis-je obtenir une nouvelle ligne dépendante de la plate-forme en Java? Je ne peux pas utiliser "\n" partout.


491
2017-10-16 09:37


origine


Réponses:


En plus de la propriété line.separator, si vous utilisez Java 1.5 ou version ultérieure et la String.format (ou autre formatage méthodes) vous pouvez utiliser %n un péché

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 Java 1.8 API pour Formatter pour plus de détails.


342
2017-10-16 18:45



Vous pouvez utiliser

System.getProperty("line.separator");

pour obtenir le séparateur de ligne


625
2017-10-16 09:39



Java 7 a maintenant un System.lineSeparator() méthode.


614
2018-06-07 18:05



Si vous essayez d'écrire une nouvelle ligne dans un fichier, vous pouvez simplement utiliser BufferedWriter de nouvelle ligne() méthode.


41
2017-10-16 18:49



Ceci est également possible: String.format("%n").

Ou String.format("%n").intern() pour sauver quelques octets.


28
2018-04-25 14:48



le commons-lang la bibliothèque a un champ constant disponible appelé SystemUtils.LINE_SEPARATOR 


22
2018-03-28 16:33



Utilisez la méthode newLine() de classe BufferedWriter  qui fournit une manière indépendante de la plate-forme pour écrire la nouvelle ligne dans le fichier


11
2018-01-20 12:24



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, quelle que soit la plate-forme.


9
2017-09-29 11:20



É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( );

-1
2017-12-05 08:53