Tengo un StringBuilder
objeto
StringBuilder result = new StringBuilder();
result.append(someChar);
Ahora quiero agregar un carácter de nueva línea al StringBuilder
. ¿Cómo puedo hacerlo?
result.append("/n");
No funciona. Entonces, estaba pensando en escribir una nueva línea usando Unicode. ¿Esto ayudará? Si es así, ¿cómo puedo agregar uno?
java
stringbuilder
Illep
fuente
fuente
"\n"
, oSystem.getProperty("line.separator")
.Respuestas:
Debería ser
Pero te recomiendo que hagas lo siguiente,
System.getProperty("line.separator")
le ofrece una nueva línea dependiente del sistema en java. También de Java 7 hay un método que devuelve el valor directamente:System.lineSeparator()
fuente
StringBuilder#appendLine()
método.System.lineSeparator()
la documentación menciona "Devuelve la cadena del separador de línea dependiente del sistema". Esto no es independiente de la plataforma. Use este código si necesita escribir una cadena que será utilizada por el sistema operativo subyacente; de lo contrario, use'\n'
.System.lineSeparator()
debe usarse cuando maneja recursos no portátiles (es decir, recursos específicos del sistema operativo subyacente). Tiene un valor diferente si está ejecutando Java en Windows (\ r \ n) o Unix (\ n). Si usaSystem.lineSeparator()
todo el tiempo, por lo tanto, producirá archivos no portátiles.appendLine
sobrecargaStringBuilder
.Otra opción es usar Apache Commons StrBuilder, que tiene la funcionalidad que falta en StringBuilder.
StrBuilder.appendLn ()
A partir de la versión 3.6, StrBuilder ha quedado en desuso a favor de TextStringBuilder, que tiene la misma funcionalidad
fuente
deprecated
. Por favor useorg.apache.commons.text.TextStringBuilder
.El escape debe hacerse con
\
, no/
.Así
r.append('\n');
or.append("\n");
funcionará (StringBuilder
ha sobrecargado los métodoschar
y elString
tipo).fuente
puede usar
line.seperator
para agregar una nueva línea enfuente
Creo una clase original que es similar a StringBuidler y puedo agregar línea llamando al método appendLine (String str).
Uso:
Consola:
fuente
También puede usar el carácter separador de línea en
String.format
(Verjava.util.Formatter
), que también es independiente de la plataforma.es decir:
Si necesita agregar más espacios de línea, simplemente use:
También puede usar
StringFormat
para formatear toda su cadena, con una (s) nueva (s) línea (s) al final.fuente
Para Kotlin
StringBuilder().appendln("your text");
Aunque esta es una pregunta de Java, este también es el primer resultado de Google para Kotlin, podría ser útil.
fuente
Además de la respuesta de KS de crear una clase StringBuilderPlus y utilizar el patrón del adaptador para extender una clase final, si utiliza genéricos y devuelve el objeto StringBuilderPlus en los nuevos métodos append y appendLine, puede hacer uso de los métodos StringBuilders de muchos métodos. para todos los tipos diferentes, al tiempo que recupera la capacidad de encadenar múltiples comandos de agregación, como se muestra a continuación
luego puede usar esto exactamente como la clase StringBuilder original:
fuente
¡Para Android , use esto para leer y escribir!
fuente