8 ответов:
Он должен быть!--5-->
r.append("\n");
но я рекомендую вам сделать как ниже
r.append(System.getProperty("line.separator"));
System.getProperty("line.separator")
дает вам зависимую от системы новую строку в java. Также в Java 7 есть метод, который возвращает значение напрямую:System.lineSeparator()
другой вариант-использовать Apache Commons StrBuilder, который имеет функциональность, которой не хватает в StringBuilder.
побег должен быть сделан с
\
, а не/
.так
r.append('\n');
илиr.append("\n");
будет работать (StringBuilder
имеет перегруженные методы дляchar
иString
тип).
вы также можете использовать линию разделителя
String.format
(см.java.util.Formatter
), которая также зависит от платформы.т. е.:
result.append(String.format("%n", ""));
Если вам нужно добавить больше пространства, просто использовать:
result.append(String.format("%n%n", ""));
вы также можете использовать
StringFormat
форматировать всю строку с новой строки(ы) в конце.result.append(String.format("%10s%n%n", "This is my string."));
Я создаю оригинальный класс, который похож на StringBuidler и может добавлять строку, вызывая метод 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(); } }
использование:
StringBuilderPlus sb = new StringBuilderPlus(); sb.appendLine("aaaaa"); sb.appendLine("bbbbb"); System.out.println(sb.toString());
Для Android, используйте для чтения и записи!
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; }