Ajuda - leitura Arquivo TXT

15 respostas
uallace

olá a todos. To fazendo um programa onde deve ler o nome, matricula, turma e turno e grava num arquivo .txt. esta gravação deve ser feita por um metodo. Deve haver outro metodo onde se faça uma consulta por meio da matricula e de acordo com isto retornar as informarções. Já fiz o seguinte:

public class Leitura_Grav_Arquivos{
   private String nome;
   private String matricula;
   private String turma;
   private String turno;
   File file = null;

   public void Gravar(Leitura_Grav_Arquivos ler){
       try {
           FileWriter writer = new FileWriter("matricula.txt",true);
           PrintWriter saida = new PrintWriter(writer,true);
           saida.println(ler.getNome());
           saida.println(ler.getMatricula());
           saida.println(ler.getTurma());
           saida.println(ler.getTurno());
           saida.println("-------------------------");
           saida.close();
           writer.close();
       }catch (Exception e) {
           e.printStackTrace();
       }
   }

   public void setNome(String nome){
       this.nome = nome;
   }

   public void setMatricula(String matricula){
       this.matricula = matricula;
   }

   public void setTurma(String turma){
       this.turma = turma;
   }

   public void setTurno(String turno){
       this.turno = turno;
   }

  public String getNome(){
      return nome;
  }

  public String getMatricula(){
      return matricula;
  }
  public String getTurma(){
      return turma;
  }
  public String getTurno(){
      return turno;
  }

}

So que não consigo executar. Da dando um erro. E também não tenho ideia de como fazer o metodo de consulta pedido. Tem como alguém me ajudar?Desde já agradeço.

15 Respostas

Hebertbc

Existe algum problema se vc criar o arquivo com formato xml?
E posta o erro ae pra saber oke ta acontecendo.

uallace

Uai, bom se puder me auxiliar tb com xml ficaria agradecido. Ocorre o seguinte erro:

java.lang.NullPointerException

at java.io.Writer.write(Writer.java:157)

at arquivos1.Leitura_Grav_Arquivos.Gravar(Leitura_Grav_Arquivos.java:25)

at arquivos1.Main.main(Main.java:19)
uallace

Bom, o erro já concertei…tem como me ajudarem no metodo de consulta onde busca informações no arquivo .txt por matricula e mostra-los?

UMC

Olha aqui eu fiz um método de leitura e escrita de arquivos!
Lendo!
http://umcastec.blogspot.com/2010/04/lendo-um-arquivo-usando-bufferedreader.html
Escrevendo!
http://umcastec.blogspot.com/2010/04/escrevendo-em-um-arquivo-usando.html
vlw
abs

Hebertbc

Eu usaria o xstream http://xstream.codehaus.org/
É so dar uma olhada aqui pra ver como é facil http://xstream.codehaus.org/tutorial.html

uallace

Bom, muito obrigado UMC e herbert!!!Ajudou muito!!!Uma outra coisa…no caso da leitura, tem um usuário informar o numero da matricula e retornar as informações referente a matricula(nome, turma e turno)?

UMC

De nada!
Vamos lá:

Você quer passar (nome, turma e turno) informados pelo usuário e pegar esses dados e salvar em TXT é isso??
Ou é ao contrário!?
ou os dois?

vlw

uallace

Obrigado pela ajuda… Tipo consulta…estarei passando o atributo matricula e retornando os dados de acordo com isso - nome, turma e turno.

Tem jeito???

UMC

uallace:
Obrigado pela ajuda… Tipo consulta…estarei passando o atributo matricula e retornando os dados de acordo com isso - nome, turma e turno.

Tem jeito???


Se você armazena em Banco de dados tem como!
Agora assim dessa forma sei não em!
deve ter como mais vai lhe dar um trabalhão!
Porque eu garanto que não vai ter só um registro!
Pense bem !
vlw

uallace

Pra gravar eu sei…no exemplo que dei acima ta dando certo c umas alterações…e com oq vc passou melhorou ainda mais…só q queria criar um metodo tipo consulta passando como parametro a matricula, o sistema vai ler o arquivo, verificar se existir e retornar um resultado. lá emcima eu detalhei melhor como é o programa. E no caso se gerar arquivo .xml como alguem aí encima citou? Como seria ?

UMC

Ok, entendi o que quer fazer!
Vou ver se bolo um jeito pra isso!
é bom que coloco lá no blog!

vlw

uallace

valeu pela ajuda…foi de grande auxilio…

uallace

Bom uma alternativa foi esta:

public class Grava {
private String nome;
   private String matricula;
   private String turma;
   private String turno;


   public void Gravar(Grava ler){
       try {
           FileWriter writer = new FileWriter(ler.getMatricula()+".txt",true);
           PrintWriter saida = new PrintWriter(writer,true);
           saida.println(ler.getNome());
           saida.println(ler.getMatricula());
           saida.println(ler.getTurma());
           saida.println(ler.getTurno());
           saida.close();
           writer.close();
       }catch (Exception e) {
           e.printStackTrace();
       }
   }

   public void Ler(String matricula) {
try {

FileReader reader = new FileReader(matricula+".txt");
BufferedReader buffReader = new BufferedReader(reader);
String linha;
while ((linha = buffReader.readLine()) != null) {

System.out.println(linha);

}
//Fecha a entrada do arquivo!
reader.close();

} catch (Exception ex) {
System.err.println("Erro: " + ex);
}

}


   public void setNome(String nome){
       this.nome = nome;
   }

   public void setMatricula(String matricula){
       this.matricula = matricula;
   }

   public void setTurma(String turma){
       this.turma = turma;
   }

   public void setTurno(String turno){
       this.turno = turno;
   }

  public String getNome(){
      return nome;
  }

  public String getMatricula(){
      return matricula;
  }
  public String getTurma(){
      return turma;
  }
  public String getTurno(){
      return turno;
  }

}

Bom a cada cadastro o metodo salva num arquivo onde o nome leva a matricula do aluno. Se a matricula é 123456 será salvo num arquivo 123456.txt. Na hora de ler é só informar a matricula e depois buscar. Agora quero uma ajuda no seguinte: Na hora de grava é preciso verificar se tal arquivo já existir para sobescrever e também na hora de consultar se o arquivo existi se não retorna erro!!!Desde já agradeço

uallace

uallace:
Bom uma alternativa foi esta:

public class Grava {
private String nome;
   private String matricula;
   private String turma;
   private String turno;


   public void Gravar(Grava ler){
       try {
           FileWriter writer = new FileWriter(ler.getMatricula()+".txt",true);
           PrintWriter saida = new PrintWriter(writer,true);
           saida.println(ler.getNome());
           saida.println(ler.getMatricula());
           saida.println(ler.getTurma());
           saida.println(ler.getTurno());
           saida.close();
           writer.close();
       }catch (Exception e) {
           e.printStackTrace();
       }
   }

   public void Ler(String matricula) {
try {

FileReader reader = new FileReader(matricula+".txt");
BufferedReader buffReader = new BufferedReader(reader);
String linha;
while ((linha = buffReader.readLine()) != null) {

System.out.println(linha);

}
//Fecha a entrada do arquivo!
reader.close();

} catch (Exception ex) {
System.err.println("Erro: " + ex);
}

}


   public void setNome(String nome){
       this.nome = nome;
   }

   public void setMatricula(String matricula){
       this.matricula = matricula;
   }

   public void setTurma(String turma){
       this.turma = turma;
   }

   public void setTurno(String turno){
       this.turno = turno;
   }

  public String getNome(){
      return nome;
  }

  public String getMatricula(){
      return matricula;
  }
  public String getTurma(){
      return turma;
  }
  public String getTurno(){
      return turno;
  }

}

Bom a cada cadastro o metodo salva num arquivo onde o nome leva a matricula do aluno. Se a matricula é 123456 será salvo num arquivo 123456.txt. Na hora de ler é só informar a matricula e depois buscar. Agora quero uma ajuda no seguinte: Na hora de grava é preciso verificar se tal arquivo já existir e também na hora de consultar se o arquivo existi se não retorna erro!!!Desde já agradeço

UMC

uallace:
uallace:
Bom uma alternativa foi esta:

public class Grava {
private String nome;
   private String matricula;
   private String turma;
   private String turno;


   public void Gravar(Grava ler){
       try {
           FileWriter writer = new FileWriter(ler.getMatricula()+".txt",true);
           PrintWriter saida = new PrintWriter(writer,true);
           saida.println(ler.getNome());
           saida.println(ler.getMatricula());
           saida.println(ler.getTurma());
           saida.println(ler.getTurno());
           saida.close();
           writer.close();
       }catch (Exception e) {
           e.printStackTrace();
       }
   }

   public void Ler(String matricula) {
try {

FileReader reader = new FileReader(matricula+".txt");
BufferedReader buffReader = new BufferedReader(reader);
String linha;
while ((linha = buffReader.readLine()) != null) {

System.out.println(linha);

}
//Fecha a entrada do arquivo!
reader.close();

} catch (Exception ex) {
System.err.println("Erro: " + ex);
}

}


   public void setNome(String nome){
       this.nome = nome;
   }

   public void setMatricula(String matricula){
       this.matricula = matricula;
   }

   public void setTurma(String turma){
       this.turma = turma;
   }

   public void setTurno(String turno){
       this.turno = turno;
   }

  public String getNome(){
      return nome;
  }

  public String getMatricula(){
      return matricula;
  }
  public String getTurma(){
      return turma;
  }
  public String getTurno(){
      return turno;
  }

}

Bom a cada cadastro o metodo salva num arquivo onde o nome leva a matricula do aluno. Se a matricula é 123456 será salvo num arquivo 123456.txt. Na hora de ler é só informar a matricula e depois buscar. Agora quero uma ajuda no seguinte: Na hora de grava é preciso verificar se tal arquivo já existir e também na hora de consultar se o arquivo existi se não retorna erro!!!Desde já agradeço


Isso tipo se o arquivo existir você exclui e salva o atualizado!

vlw

Criado 12 de abril de 2010
Ultima resposta 13 de abr. de 2010
Respostas 15
Participantes 3