1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Como guardar dados em ficheiros em java

Discussão em 'Programação' iniciada por luismauricio, 15 de Maio de 2007. (Respostas: 10; Visualizações: 5484)

  1. luismauricio

    luismauricio Power Member

    Boas tardes, precisava de guardar umas listas de dados de um pequeno programa em Java que criei para depois ao iniciar o programa ele ler mas não sei como o fazer nem quais as formas indicadas. Agradecia se me poderem ajudar.
     
  2. MadOnion

    MadOnion Folding Member

    Guardar dados no ficheiro, quer dizer, escrever no ficheiro certo?

    Existem pelo menos duas classes para isso:
    BufferedWriter
    PrintWriter

    Como escrever?
    BufferedWriter escritor = new BufferedWriter(new FileWriter(args[0])); //args[0] ou nome do file
    escritor.write(dados + "\r\n");

    Depois tens que fechar o buffer, com o escritor.close();

    A classe PrintWriter também faz o mesmo, mas tem mais metodos à disposição.

    Qualquer dúvida, reporta ;)
     
  3. barbosas

    barbosas [email protected] Member

    Eu faço assim:

    BufferedWriter out = new BufferedWriter(new FileWriter("Noticias.txt"));

    out.write("String que queres escrever ou la o k seja");

    out.close(); //Para fechar o acesso ao ficheiro


    EDIT: Não vi k o madonion ja tinha respondido igual :)
     
  4. pr0p

    pr0p Power Member

    Ou um exemplo com o printwriter.


    PrintWriter pw=new PrintWriter(new FileWriter(nomeFich));
    pw.println("Bla bla");
    pw.close();

    com um throw ou um try catch para o IOException
     
  5. luismauricio

    luismauricio Power Member

    Eu tenho uma lista de de objectos, neste caso o objecto é "cliente" com os vários atributos que lhe pertence e gostava de guardar essa lista de objectos ao sair do programa e carregar ao iniciar. obrigado.
     
  6. mcog_blaster

    mcog_blaster Power Member

    Se tiveres um Objecto "Cliente" o que podes tentar fazer é:

    Código:
    Cliente cliente = new Cliente();
    ....
    try {
          FileOutputStream fos = new FileOutputStream("clientes.dat");
          ObjectOutputStream oos = new ObjectOutputStream(fos);
          oos.writeObject(cliente);
          oos.close();
          }
       catch (Exception e) { e.printStackTrace(); }
    }
    ....
    
    Para recuperar na leitura:
    Código:
    Cliente cliente = new Cliente();
    .....
    try {
        FileInputStream fis = new FileInputStream("clientes.dat");
        ObjectInputStream ois = new ObjectInputStream(fis);
        cliente = (Cliente) ois.readObject();
        ois.close();
    }
       catch (Exception e) { e.printStackTrace();
      }
    ....
    
    Experimenta.

    Importante: a tua declaraçao de Cliente tem de implementar Serializable.

     
    Última edição: 16 de Maio de 2007
  7. Vai pelo mcog_blaster que ele falou bem! :)
     
  8. luismauricio

    luismauricio Power Member

     
  9. mcog_blaster

    mcog_blaster Power Member

    Serializable é uma como uma etiqueta que se "cola" á class que desenvolves, nao tem metodos nenhums associados, garante a persistencia dos dados, sendo possivel num futuro reconstruir o objecto.
    A class ObjectOutputStream apenas serializa objctos que implementem esta interface.
    Espero que tenhas conseguido apanhar o conceito.
     
  10. luismauricio

    luismauricio Power Member

    Obrigado mcog_blaster mas acho que vou ter de ler ainda uns tutoriais para perceber mais de Java. Já agora, sem querer repetir algum post anterior, sabem onde posso encontrar tutoriais Java incidindo mais sobre a criação de interface gráfico, pois para fazer uma selecção do Google levaria horas.
     

Partilhar esta Página