Fala galera,
Estou tendo dificuldades na hora de manipular o “\n” do arquivo.
Quando coloco a String pra imprimir, a mesma imprime com o \n, deixando em uma única linha.
Alguém pode me ajudar?
O \n é uma sequência de escape especial, que o compilador do Java entende como enter.
Ela só existe como enter em Strings, declaradas em seu programa. Em arquivos, o \n é o próprio enter (lembre-se que o compilador não roda sobre seu arquivo externo).
Simplesmente coloque o conteúdo na linha debaixo. Ou faça você mesmo um replace("\n", “\n”); a cada readline().
V
vasco.fred
Não entendi a ideia do “\n”.
Fiz isso e apareceu do mesmo jeito na saída
ViniGodoy
Você fez assim?
public void carregarCadastros() throws IOException{
Scanner in = new Scanner(new File(this.caminho));
while (in.hasNextLine()) {
str = in.nextLine().replace("\\n", "\n");
String[] informacoes = str.split(";");
cadastros.add(new Cadastro(Integer.parseInt(informacoes[0]),informacoes[1],informacoes[2],
informacoes[3],informacoes[4],informacoes[5],informacoes[6]));
}
in.close();
}
ViniGodoy
E porque você escreve um \n ao invés de simplesmente dar um enter?
ViniGodoy
Faça assim:
public void carregarCadastros() throws IOException{
Scanner in = new Scanner(new File(this.caminho));
in.useDelimiter("\\\\n|\\r\\n|\\n}]+");
while (in.hasNext()) {
str = in.next();
String[] informacoes = str.split(";");
cadastros.add(new Cadastro(Integer.parseInt(informacoes[0]),informacoes[1],informacoes[2],
informacoes[3],informacoes[4],informacoes[5],informacoes[6]));
}
in.close();
}
Aí configuro o scanner para encarar como quebra de linha o caracter de quebra de linha, ou o texto \n.