Olá a todos.
Tenho um vetor de strings, e quero gravá-lo em um arquivo-texto do bloco de notas.
O método tem dois parâmetros. O primeiro é o vetor propriamente dito, e o segundo o arquivo onde será gravado.
O caso é que eu gostaria de gravar cada elemento do vetor numa linha diferente do arquivo. Mas com o código que eu tenho, só estou conseguindo gravar contínuo, um logo em seguida do outro.
Em outras linguagens eu usaria os caracteres LF (Line Feed) e CR (Carriage Return), mas não sei como fazer isso no Java.
O código da rotina que estou usando é o seguinte:
[code]public void gravar(String[] texto, String arquivo){
try {
FileWriter gravacao = new FileWriter(arquivo);
for (int i = 0; i < 8; i++){
gravacao.write(texto[i]);
}
gravacao.close();
} catch (IOException e) {e.printStackTrace(); }
}[/code]
Como faço para resolver?
Obrigado
e se vc mandar gravar um \n ?
será q dá certo?
desculpa… nao sei…
é um chute kkkkkk
public void gravar(String[] texto, String arquivo){
try {
FileWriter gravacao = new FileWriter(arquivo);
for (int i = 0; i < texto.length; i++){
gravacao.write(texto[i] + "\n");
}
gravacao.close();
} catch ( IOException e ) { e.printStackTrace(); }
}
Se quiser com pulo de linha apenas entre os dados do array, vc pode fazer assim:
public void gravar(String[] texto, String arquivo){
try {
FileWriter gravacao = new FileWriter(arquivo);
for (int i = 0; i < texto.length; i++){
if ( i != 0) {
gravacao.write("\n");
}
gravacao.write(texto[i]);
}
gravacao.close();
} catch ( IOException e ) { e.printStackTrace(); }
}
David,
Não está dando certo.
Usei o “\n” de todas as formas que vc mostrou, mas ele continua gravando o arquivo todo em uma única linha.
O que pode estar acontecendo?
Use o BufferedWriter.
public static void gravar(String[] texto, String arquivo){
try {
FileWriter gravacao = new FileWriter(arquivo);
BufferedWriter bf = new BufferedWriter(gravacao);
for (int i = 0; i < texto.length; i++){
bf.write(texto[i]);
bf.newLine();
}
bf.flush();
bf.close();
} catch ( IOException e ) { e.printStackTrace(); }
}
Valeu, Anderson.
Funcionou aqui.