Olá galera, preciso da ajuda de vocês. Seguinte tenho que escrever uma matriz que é gerada pelo meu programa no seguinte formato
1 2 3
4 5 6
7 8 8
formato de representação de matriz mesmo. Esta matriz é de inteiro e tem seu tamanho genérico. Eu tentei de duas formas escrever esta matriz no arquivo, utilizando a classe RandomAccesFile e FileWriter e PrintWriter.
A RandomAccesFile imprime uns caracteres especiais que não tem nada a ver com o que quero e a FileWriter simplesmente não imprime nada. Vocês podem me ajudar com essa ??? :DDD
desde já agradeço!
Consegue postar o seu código
nel
Dezembro 6, 2011, 8:36am
#3
Usando FileWriter associado ao PrintWriter era para funcionar normalmente.
A questão agora é como você está fazendo isso, portanto, poste o código e possíveis erros.
E se o arquivo estiver sendo gerado todo bagunçado, dá um exemplo de como ele foi gerado.
Abraços.
segue:
[code]void escreve_arquivo(int [][]matriz) throws FileNotFoundException, IOException{
File fr3 = new File("testes.txt");
FileWriter writer = new FileWriter("testes2.txt");
PrintWriter saida = new PrintWriter(writer);
BufferedWriter buffer = new BufferedWriter(writer);
// RandomAccessFile arquivo = new RandomAccessFile(fr3,"rwd");
for(int i = 0;i < matriz.length;i++){
for(int j = 0;j < matriz.length;j++){
buffer.write(matriz[i][j]);
}
buffer.write("\n");
}
}[/code]
Depois de escrever feche seus writers e seus arquivos chamando o método close() para cada um deles
segue:
[code]void escreve_arquivo(int [][]matriz) throws FileNotFoundException, IOException{
File fr3 = new File("testes.txt");
FileWriter writer = new FileWriter("testes2.txt");
PrintWriter saida = new PrintWriter(writer);
BufferedWriter buffer = new BufferedWriter(writer);
// RandomAccessFile arquivo = new RandomAccessFile(fr3,"rwd");
for(int i = 0;i < matriz.length;i++){
for(int j = 0;j < matriz.length;j++){
buffer.write(matriz[i][j]);
}
buffer.write("\n");
}
}[/code][/quote]
Faltou fechar suas streams
// seu codigo
for(int i = 0;i < matriz.length;i++){
for(int j = 0;j < matriz.length;j++){
buffer.write(matriz[i][j]);
}
buffer.write("\n");
}
// fechando
buffer.close();
saida.close();
writer.close();
Boa sorte
segue:
[code]void escreve_arquivo(int [][]matriz) throws FileNotFoundException, IOException{
File fr3 = new File("testes.txt");
FileWriter writer = new FileWriter("testes2.txt");
PrintWriter saida = new PrintWriter(writer);
BufferedWriter buffer = new BufferedWriter(writer);
// RandomAccessFile arquivo = new RandomAccessFile(fr3,"rwd");
for(int i = 0;i < matriz.length;i++){
for(int j = 0;j < matriz.length;j++){
buffer.write(matriz[i][j]);
}
buffer.write("\n");
}
}[/code][/quote]
Faltou fechar suas streams
// seu codigo
for(int i = 0;i < matriz.length;i++){
for(int j = 0;j < matriz.length;j++){
buffer.write(matriz[i][j]);
}
buffer.write("\n");
}
// fechando
buffer.close();
saida.close();
writer.close();
Boa sorte[/quote]
escreveu mais saiu um monte de caracter especial (quadrados e outros)
Consegui, usei a PrintWriter e fechando depois e deu certo, obrigado!!!