Seguinte tenho uma variavel do tipo StringBuilder e precisa percorrer ela linha por linha. O problema é q acredito eu a StringBuilder n foi feita para percorrer, então como eu posso fazer isto ?
Minha solução foi gravar o conteudo dela em um arquivo e depois ler, mas me parece q isto n é muito inteligente já q ira consumir um espaço ao meu ver desnecessario, pois sao 6000 arquivos e o arquivo q gravo sera sobrescrito 6000 vezes.
StringBuildersb=newStringBuilder();sb..........;// preencha sua StringBuilderString[]linhas=sb.toString().split("(\r\n|\n)",-1);// (\r\n|\n) é uma expressão regular que indica que uma linha termina com \r\n (Windows)// ou somente \n (Unix / Linux / MacOSX).// No array "linhas" aqui estão as linhas desejadas. Basta percorrê-las com um "for".// -1 indica que você também quer linhas vazias.
F
Felagund
entanglement:
StringBuilder sb = new StringBuilder();
sb..........; // preencha sua StringBuilder
String[] linhas = sb.toString().split ("(\r\n|\n)", -1);
// (\r\n|\n) é uma expressão regular que indica que uma linha termina com \r\n (Windows)
// ou somente \n (Unix / Linux / MacOSX).
// No array "linhas" aqui estão as linhas desejadas. Basta percorrê-las com um "for".
// -1 indica que você também quer linhas vazias.
ele poderia usar o
System.getProperty("line.separator");
dai não precisa se preocupar com o S.O.
T
thiago.correa
Felagund:
entanglement:
StringBuilder sb = new StringBuilder();
sb..........; // preencha sua StringBuilder
String[] linhas = sb.toString().split ("(\r\n|\n)", -1);
// (\r\n|\n) é uma expressão regular que indica que uma linha termina com \r\n (Windows)
// ou somente \n (Unix / Linux / MacOSX).
// No array "linhas" aqui estão as linhas desejadas. Basta percorrê-las com um "for".
// -1 indica que você também quer linhas vazias.
ele poderia usar o
System.getProperty("line.separator");
dai não precisa se preocupar com o S.O.
Mas não tem como saber em qual S.O. o arquivo foi gravado!! Essa propriedade geralmente se usa quando vai ser gravado um arquivo!
V
ViniGodoy
Felagund:
ele poderia usar o
System.getProperty("line.separator");
dai não precisa se preocupar com o S.O.
Isso só retorna o separador de linha do SO atual. Para realmente não se preocupar com separador, ele poderia usar o Scanner:
Scanner scan = new Scanner(sb.toString());
while (scan.hasNextLine()) {
String linha = scan.nextLine();
fazQualquerCoisaComALinha(linha);
}