salto new linea example java stringbuilder

java - new - Cómo añadir una nueva línea a StringBuilder



stringbuilder salto de linea c# (8)

Tengo un objeto StringBuilder ,

StringBuilder result = new StringBuilder(); result.append(someChar);

Ahora quiero añadir un carácter de nueva línea a 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?


Creo una clase original que es similar a StringBuidler y puedo agregar línea llamando al método appendLine (String str).

public class StringBuilderPlus { private StringBuilder sb; public StringBuilderPlus(){ sb = new StringBuilder(); } public void append(String str) { sb.append(str != null ? str : ""); } public void appendLine(String str) { sb.append(str != null ? str : "").append(System.getProperty("line.separator")); } public String toString() { return sb.toString(); } }

Uso:

StringBuilderPlus sb = new StringBuilderPlus(); sb.appendLine("aaaaa"); sb.appendLine("bbbbb"); System.out.println(sb.toString());

Consola:

aaaaa bbbbb


Debería ser

r.append("/n");

Pero te recomiendo que hagas lo siguiente.

r.append(System.getProperty("line.separator"));

System.getProperty("line.separator") le proporciona una nueva línea dependiente del sistema en java. También desde Java 7 hay un método que devuelve el valor directamente: System.lineSeparator()


El escape debe hacerse con / , no / .

Entonces r.append(''/n''); o r.append("/n"); funcionará ( StringBuilder ha sobrecargado los métodos para el tipo char y String ).


Esto también funcionará en StringBuilder.

result.append("<BR />");


Otra opción es usar Apache Commons StrBuilder, que tiene la funcionalidad que falta en StringBuilder.

StrBuilder.appendLn()


También puede utilizar el carácter separador de línea en String.format (consulte java.util.Formatter ), que también es String.format plataforma.

es decir:

result.append(String.format("%n", ""));

Si necesita agregar más espacios de línea, solo use:

result.append(String.format("%n%n", ""));

También puede usar StringFormat para dar formato a toda su cadena, con una nueva línea (s) al final.

result.append(String.format("%10s%n%n", "This is my string."));


puede usar line.seperator para line.seperator una nueva línea en


Para Android , ¡Usa esto para leer y escribir!

private void writeToFile(String message) { try { OutputStream outputStream = openFileOutput("todoList.txt",Context.MODE_PRIVATE); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream); outputStreamWriter.write(message); outputStreamWriter.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private String readFromFile() throws IOException { String result = ""; InputStream inputStream = openFileInput("todoList.txt"); if (inputStream != null) { InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String tempString = ""; StringBuilder stringBuilder = new StringBuilder(); while ( (tempString = bufferedReader.readLine()) != null ) { stringBuilder.append(tempString); stringBuilder.append("/n"); } inputStream.close(); result = stringBuilder.toString(); } return result; }