Em C #, há a propriedade estática Environment.Newline que foi alterada dependendo da plataforma em execução.
Existe algo semelhante em Java?
Em C #, há a propriedade estática Environment.Newline que foi alterada dependendo da plataforma em execução.
Existe algo semelhante em Java?
Respostas:
No Java 7 (e no nível 19 da API do Android):
System.lineSeparator()
Documentação: Java Platform SE 7
Para versões mais antigas do Java, use:
System.getProperty("line.separator");
Consulte https://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html para outras propriedades.
A partir do Java 7:
System.lineSeparator()
API Java: System.lineSeparator
Retorna a cadeia separadora de linhas dependente do sistema. Ele sempre retorna o mesmo valor - o valor inicial da propriedade do sistema line.separator. Nos sistemas UNIX, ele retorna "\ n"; nos sistemas Microsoft Windows, ele retorna "\ r \ n".
Esteja ciente de que essa propriedade não é tão útil quanto muitas pessoas pensam que é. Só porque seu aplicativo está sendo executado em uma máquina Windows, por exemplo, não significa que o arquivo que está lendo estará usando separadores de linha no estilo Windows. Muitas páginas da web contêm uma mistura de "\ n" e "\ r \ n", tendo sido remendadas de fontes diferentes. Ao ler o texto como uma série de linhas lógicas, você deve sempre procurar os três principais estilos de separador de linhas: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") e Mac pré-OSX ("\ r").
Ao escrever texto, você deve se preocupar mais com a forma como o arquivo será usado do que em qual plataforma você está executando. Por exemplo, se você espera que as pessoas leiam o arquivo no Bloco de Notas do Windows, use "\ r \ n" porque ele reconhece apenas o tipo de separador.
(?:\r?\n|\r)a (?:\r?n), mas não, eu não acho que é seguro. Eu prefiro (?:\r\n|[\r\n])assim mesmo; Eu sei que são mais personagens, mas parece mais arrumado. : D E se você não se importa com quantos separadores de linha consome, [\r\n]+funciona bem.