Mam StringBuilder
przedmiot
StringBuilder result = new StringBuilder();
result.append(someChar);
Teraz chcę dodać znak nowej linii do StringBuilder
. Jak mogę to zrobić?
result.append("/n");
Nie działa. Tak więc myślałem o napisaniu nowej linii za pomocą Unicode. Czy to pomoże? Jeśli tak, jak mogę go dodać?
java
stringbuilder
Illep
źródło
źródło
"\n"
, alboSystem.getProperty("line.separator")
.Odpowiedzi:
Powinno być
Ale polecam zrobić tak, jak poniżej,
System.getProperty("line.separator")
daje zależną od systemu nową linię w Javie. Również z Java 7 istnieje metoda, która zwraca wartość bezpośrednio:System.lineSeparator()
źródło
StringBuilder#appendLine()
metody.System.lineSeparator()
w dokumentacji wspomniano „Zwraca zależny od systemu ciąg separatora linii.”. To nie jest niezależne od platformy. Użyj tego kodu, jeśli chcesz napisać ciąg, który będzie używany przez podstawowy system operacyjny, w przeciwnym razie użyj'\n'
.System.lineSeparator()
należy używać, gdy masz do czynienia z zasobami nieprzenośnymi (to znaczy zasobami specyficznymi dla bazowego systemu operacyjnego). Ma inną wartość, niezależnie od tego, czy używasz Javy w systemie Windows (\ r \ n) lub Unix (\ n). Jeśli używaszSystem.lineSeparator()
cały czas, będziesz produkować pliki nieprzenośne.appendLine
przeciążeniaStringBuilder
.Inną opcją jest użycie Apache Commons StrBuilder, który ma funkcjonalność, której brakuje w StringBuilder.
StrBuilder.appendLn ()
Od wersji 3.6 StrBuilder został wycofany na korzyść TextStringBuilder, który ma tę samą funkcjonalność
źródło
deprecated
. Proszę używaćorg.apache.commons.text.TextStringBuilder
.Ucieczka powinna być zrobiona
\
, nie/
.Tak
r.append('\n');
lubr.append("\n");
będzie działać (StringBuilder
przeciążono metodychar
iString
wpisz).źródło
możesz użyć
line.seperator
do dołączenia nowej liniiźródło
Tworzę oryginalną klasę podobną do StringBuidler i mogę dołączyć linię, wywołując metodę appendLine (String str).
Stosowanie:
Konsola:
źródło
Możesz także użyć znaku separatora linii w
String.format
(Zobaczjava.util.Formatter
), który jest również niezależny od platformy.to znaczy:
Jeśli chcesz dodać więcej spacji, użyj:
Możesz także użyć
StringFormat
do sformatowania całego łańcucha, z nowymi liniami na końcu.źródło
Dla Kotlina
StringBuilder().appendln("your text");
Chociaż jest to pytanie Java, jest to również pierwszy wynik Google dla kotlin, może się przydać.
źródło
Oprócz odpowiedzi KS na utworzenie klasy StringBuilderPlus i wykorzystanie wzorca adaptera do rozszerzenia klasy końcowej, jeśli użyjesz ogólnych i zwrócisz obiekt StringBuilderPlus w nowych metodach append i appendLine, możesz skorzystać z StringBuilders wielu metod dołączania dla wszystkich różnych typów, przy jednoczesnym odzyskaniu możliwości ciągnięcia wielu poleceń dołączania razem, jak pokazano poniżej
możesz następnie użyć tego dokładnie jak oryginalnej klasy StringBuilder:
źródło
W systemie Android użyj tego do odczytu i zapisu!
źródło