Problema ao ler um .txt!

9 respostas
D

Seguinte pessoal,
sou meio novato em java estou ainda aprendendo…
Fiz um programinha de agenda e estou implementando para gravar e ler dados gravados em .txt
Botei para os dados serem gravados um debaixo do outro:

public static void salvar(String arquivo, String conteudo, boolean adicionar)
throws IOException {

FileWriter fw = new FileWriter(arquivo, adicionar);

BufferedWriter salvo = new BufferedWriter(fw);

salvo.newLine();

salvo.write(conteudo);

salvo.close();

}

Só que os dados estavam armazenado tudo em uma matriz.

Agora como vou fazer para recuperar esses dados e joga-los para mesma matriz de antes? Para os mesmos lugares?
Para carregar estou usando assim:

public static String carregar(String arquivo)
throws FileNotFoundException, IOException {

File file = new File(arquivo);

if (! file.exists()) {

return null;

}

BufferedReader br = new BufferedReader(new FileReader(arquivo));
StringBuffer bufSaida = new StringBuffer();

String linha;

while( (linha = br.readLine()) != null ){

bufSaida.append(linha + “\n);

}

br.close();

return bufSaida.toString();

}

E o comando para gravar e recuperar é o seguinte:
try {

UtilsArquivo.salvar(?arquivo.txt?, nome-variavel, true);

nome-variavel = UtilsArquivo.carregar(?arquivo.txt?);

} catch (Exception e) {

e.printStackTrace();

}

}

Se alguém puder me ajudar a fazer ele carrega certinho e consegui-lo jogar pras matrizes. Para o programa reconhecer os dados para conseguir fazer consultas e tals.

Obrigado

9 Respostas

D

Niguém pra me ajudar? :confused:

D

E ai pessoal, niguém pra me dar essa força? :frowning:

G

Usa o metodo split, ele divide a String de acordo com um algrarismo que vc determina, ai você pode escolher as posições de acordo com a vez em que ele for ser reapresentado por meeio de dois for(){}, ai vc cria uma matriz

D

Acho que entendi mano…
Só que o seguinte no meu arquivo .txt ele esta gravando só que a primeira linha fica em branco sabes me dizer como que eu faço pra ele começar a ler apartir da segunda linha?
Abraços e obrigado!

G

Então , do jeitp que esta o seu codigo, eentão ele não vai funcionar , já que antes mesmo dele poder olhar a segunda linha o linha = br.readLine() já vai acusar saida do while, então tenta tirar essa linha, ou se não caso funcione , não se esqueça que ele vai ler apenas depois do algarismo , então não haverá problemas

D

Não compreendi muito bem,
tas dizendo pra eu tirar essas linhas:

while( (linha = br.readLine()) != null ){

bufSaida.append(linha + “\n);

}

?

G

outra coisa que esqueci de falar … usa a tabela de codigo aqui do guj …

na tabelinha debaixo ddo titulo , tem um negocio que serve pra você colocar seu codigo , tipo aquieles negocios para colcar smile [alguma coisa], então tem um de codigo aqui coloka ele pra facilitar o intendimento
e também não faça esse tipo de pergunta na topico de avançados
coloca avançado quando estiver em um dos temas que esta na lista do forum

até

G

não então isso é o que le as coisas …

mas o qque você esta fazendo "tenho uma linha em branco " vai fazer ele acusar que já está null, logo a principio

esse é o problema

D

Foi mal se botei no lugar errado, sou meio novato ai pá.
Mais obrigadão vou tentar achar essa tabelinha que você falou!

Criado 22 de outubro de 2008
Ultima resposta 24 de out. de 2008
Respostas 9
Participantes 2