J'ai un StringBuilder
objet,
StringBuilder result = new StringBuilder();
result.append(someChar);
Maintenant, je veux ajouter un caractère de nouvelle ligne au StringBuilder
. Comment puis-je le faire?
result.append("/n");
Ne marche pas. Donc, je pensais à écrire une nouvelle ligne en utilisant Unicode. Est-ce que cela vous aidera? Si oui, comment puis-je en ajouter un?
java
stringbuilder
Illep
la source
la source
"\n"
, ouSystem.getProperty("line.separator")
.Réponses:
Ça devrait être
Mais je vous recommande de faire comme ci-dessous,
System.getProperty("line.separator")
vous offre une nouvelle ligne dépendante du système en java. De Java 7, il existe également une méthode qui renvoie directement la valeur:System.lineSeparator()
la source
StringBuilder#appendLine()
méthode.System.lineSeparator()
la documentation mentionne "Renvoie la chaîne de séparateur de ligne dépendante du système.". Ce n'est pas indépendant de la plateforme. Utilisez ce code si vous devez écrire une chaîne qui sera utilisée par le système d'exploitation sous-jacent, sinon utilisez'\n'
.System.lineSeparator()
doit être utilisé lorsque vous traitez avec des ressources non portables (c'est-à-dire des ressources spécifiques au système d'exploitation sous-jacent). Il a une valeur différente selon que vous exécutez Java sur Windows (\ r \ n) ou Unix (\ n). Si vous utilisezSystem.lineSeparator()
tout le temps, vous produirez donc des fichiers non portables.appendLine
surchargeStringBuilder
.Une autre option consiste à utiliser Apache Commons StrBuilder, qui possède les fonctionnalités qui manquent dans StringBuilder.
StrBuilder.appendLn ()
Depuis la version 3.6, StrBuilder est déconseillé au profit de TextStringBuilder qui a les mêmes fonctionnalités
la source
deprecated
. Veuillez utiliserorg.apache.commons.text.TextStringBuilder
.L'évasion devrait être faite avec
\
, non/
.Alors
r.append('\n');
ou çar.append("\n");
marchera (StringBuilder
a surchargé les méthodeschar
et leString
type).la source
vous pouvez utiliser
line.seperator
pour ajouter une nouvelle ligne dansla source
Je crée une classe originale similaire à StringBuidler et je peux ajouter une ligne en appelant la méthode appendLine (String str).
Usage:
Console:
la source
Vous pouvez également utiliser le caractère séparateur de ligne dans
String.format
(Voirjava.util.Formatter
), qui est également indépendant de la plate-forme.c'est à dire:
Si vous devez ajouter plus d'espaces de ligne, utilisez simplement:
Vous pouvez également utiliser
StringFormat
pour formater votre chaîne entière, avec un ou des sauts de ligne à la fin.la source
Pour Kotlin,
StringBuilder().appendln("your text");
Bien qu'il s'agisse d'une question java, c'est également le premier résultat google pour kotlin, qui pourrait être utile.
la source
En plus de la réponse de KS de créer une classe StringBuilderPlus et d'utiliser le modèle d'adaptateur pour étendre une classe finale, si vous utilisez des génériques et renvoyez l'objet StringBuilderPlus dans les nouvelles méthodes append et appendLine, vous pouvez utiliser les StringBuilders de nombreuses méthodes d'ajout pour tous les types différents, tout en reprenant la possibilité de chaîne de chaîne plusieurs commandes d'ajout ensemble, comme indiqué ci-dessous
vous pouvez ensuite l'utiliser exactement comme la classe StringBuilder d'origine:
la source
Pour Android , utilisez ceci pour lire et écrire!
la source