Eu tenho um StringBuilder
objeto
StringBuilder result = new StringBuilder();
result.append(someChar);
Agora eu quero acrescentar um caractere de nova linha ao StringBuilder
. Como eu posso fazer isso?
result.append("/n");
Não funciona. Então, eu estava pensando em escrever uma nova linha usando Unicode. Isso vai ajudar? Se sim, como posso adicionar um?
java
stringbuilder
Illep
fonte
fonte
"\n"
, ouSystem.getProperty("line.separator")
.Respostas:
Deveria ser
Mas eu recomendo que você faça o seguinte,
System.getProperty("line.separator")
fornece uma nova linha dependente do sistema em java. Também do Java 7, há um método que retorna o valor diretamente:System.lineSeparator()
fonte
StringBuilder#appendLine()
método.System.lineSeparator()
a documentação menciona "Retorna a cadeia separadora de linhas dependente do sistema.". Isso não é independente de plataforma. Use esse código se precisar escrever uma sequência que será usada pelo sistema operacional subjacente, caso contrário, use'\n'
.System.lineSeparator()
deve ser usado quando você lida com recursos não portáteis (ou seja, recursos específicos do sistema operacional subjacente). Ele tem um valor diferente se você estiver executando o Java no Windows (\ r \ n) ou Unix (\ n). Se você usarSystem.lineSeparator()
o tempo todo, produzirá arquivos não portáveis.appendLine
sobrecargaStringBuilder
.Outra opção é usar o Apache Commons StrBuilder, que possui a funcionalidade que falta no StringBuilder.
StrBuilder.appendLn ()
A partir da versão 3.6, o StrBuilder foi descontinuado em favor do TextStringBuilder, que tem a mesma funcionalidade
fonte
deprecated
. Por favor useorg.apache.commons.text.TextStringBuilder
.A fuga deve ser feita com
\
, não/
.Então,
r.append('\n');
our.append("\n");
funcionará (StringBuilder
sobrecarregou os métodoschar
e oString
tipo).fonte
você pode usar
line.seperator
para adicionar nova linha nofonte
Crio uma classe original semelhante à StringBuidler e pode acrescentar uma linha chamando o método appendLine (String str).
Uso:
Console:
fonte
Você também pode usar o caractere separador de linhas em
String.format
(Consultejava.util.Formatter
), que também é independente de plataforma.ou seja:
Se você precisar adicionar mais espaços de linha, use:
Você também pode usar
StringFormat
para formatar toda a sequência, com uma nova linha (s) no final.fonte
Para Kotlin,
StringBuilder().appendln("your text");
Embora esta seja uma pergunta sobre Java, este também é o primeiro resultado do google para o kotlin, que pode ser útil.
fonte
Além da resposta da KS de criar uma classe StringBuilderPlus e utilizar o padrão do adaptador para estender uma classe final, se você usar genéricos e retornar o objeto StringBuilderPlus nos novos métodos append e appendLine, poderá usar os vários métodos append StringBuilders para todos os tipos diferentes, enquanto recupera a capacidade de encadear vários comandos de acréscimo juntos, conforme mostrado abaixo
você pode usar isso exatamente como a classe StringBuilder original:
fonte
Para Android , use isso para ler e escrever!
fonte