Comment faire pour ajouter une nouvelle ligne à StringBuilder
J'ai un StringBuilder
objet,
StringBuilder result = new StringBuilder();
result.append(someChar);
Maintenant, je veux ajouter un caractère de saut de ligne à la StringBuilder
. Comment puis-je le faire?
result.append("/n");
Ne fonctionne pas. Alors, j'ai pensé à écrire une nouvelle ligne à l'aide d'Unicode. Cela aiderait-il? Si oui, comment puis-je ajouter un?
- Je pensais que c'est
"\n"
, ouSystem.getProperty("line.separator")
. - saut de ligne n'est pas nécessairement un saut de LIGNE (LF) (Ascii/Unicode (10) caractère. Comme le réponse correcte le souligne, en Java, vous pouvez obtenir une (saut de LIGNE ou d'une plate-forme spécifique saut de ligne).
Vous devez vous connecter pour publier un commentaire.
Il devrait être
Mais je vous recommande de faire comme ci-dessous,
System.getProperty("line.separator")
vous donne dépendant du système de saut de ligne en java. Aussi à partir de Java 7, il y a une méthode qui renvoie directement la valeur:System.lineSeparator()
StringBuilder#appendLine()
méthode.System.lineSeparator()
documentation mentionne "les Retours de la dépend du système de séparateur de ligne de chaîne.". Ce n'est pas indépendant de la plateforme. Utiliser ce code si vous avez besoin d'écrire une chaîne de caractères qui sera utilisée par le système d'exploitation, sinon utilisez'\n'
.System.lineSeparator()
devrait être utilisé lorsque vous avez affaire à des non-portables ressources (ressources spécifiques du sous-jacent système d'exploitation). Il a une valeur différente si vous êtes en cours d'exécution Java sur Windows (\r\n), Unix (\n). Si vous utilisezSystem.lineSeparator()
tout le temps, vous aurez donc de produire non portable fichiers.appendLine
surcharge surStringBuilder
.Une autre option est d'utiliser Apache Commons StrBuilder, qui a la fonctionnalité qui manque StringBuilder.
StrBuilder.appendLn()
À partir de la version 3.6 StrBuilder a été dépréciée en faveur de TextStringBuilder qui a la même fonctionnalité
deprecated
. Veuillez utiliserorg.apache.commons.text.TextStringBuilder
.D'échappement doit être fait avec
\
, pas/
.Donc
r.append('\n');
our.append("\n");
travailler (StringBuilder
a des méthodes surchargées pourchar
etString
type).vous pouvez utiliser
line.seperator
d'ajouter une nouvelle ligne dansJe crée classe d'origine que similaire à StringBuidler et pouvez ajouter la ligne en appelant la méthode appendLine(String str).
Utilisation:
Console:
Vous pouvez également utiliser le séparateur de ligne de caractère dans
String.format
(Voirjava.util.Formatter
), qui est également la plate-forme agnostique.c'est à dire:
Si vous avez besoin d'ajouter plus de ligne de places, il suffit d'utiliser:
Vous pouvez également utiliser
StringFormat
pour formater l'ensemble de votre chaîne, avec un saut de ligne(s) à la fin.Pour Android, l'Utiliser pour Lire et Écrire!
cela fonctionne aussi dans le StringBuilder