Gostaria de saber como salvar um arquivo .txt

olha soh tenho uma folha de pagamento e quando fechar o programa preciso q os funcionarios q eu add no cadastro não se percam como faço isso?

Use um banco de dados. Não gostaria que você guardasse meu salário em um arquivo .txt e depois acabasse fazendo alguma “salada” com ele.

Sou novato, naum entendo muito de banco de dados!
como posso fazer um?
SQL é bom?

abraaçç

Se está começando é interessante dar uma olhada em arquivos antes de partir para um BD.

Dê uma olhada:
http://java.sun.com/docs/books/tutorial/essential/io/

[quote=guisantogui]Sou novato, naum entendo muito de banco de dados!
como posso fazer um?
SQL é bom?

abraaçç[/quote]

Precisa de um servidor de banco.
Tem vários free, tipo o PostgreSQL e o MySQL.

[quote=BrunoBastos]Se está começando é interessante dar uma olhada em arquivos antes de partir para um BD.

Dê uma olhada:
http://java.sun.com/docs/books/tutorial/essential/io/[/quote]

Eu também comecei por arquivos; só que já vi muita gente boa que nunca aprendeu a mexer com arquivos, mas é campeã ao mexer com bancos de dados. O problema, é claro, surgia quando eles precisavam fazer um log e por algum motivo eles não tinham um log pronto; aí se atrapalhavam todos com abrir e fechar arquivos-texto.
No caso específico em que ele queria guardar dados de funcionários, ainda aconselho a usar um banco de dados, por mais simples que seja, já que isso vai ser o ganha-pão dele.

Mas, eh para um trabalho, ateh qro aprender BD, mas por enquanto um txt jah me ajuda muito!

PS.: se tiverem tutoriais de PHP ou BD por favor me mandem o link!

tks

Se um arquivo texto está bom mesmo então:


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.io.PrintWriter;
import java.math.BigDecimal;

public class SalvarEmArquivoTexto
{

   public static void main(String[] args)
   throws FileNotFoundException, IOException
   {
      Arquivo arquivoCsv = new Arquivo("/arquivo_texto.csv"); // C:\arquivo_texto.csv

      Pessoa joao = new Pessoa(2, "João", new BigDecimal("1000.00"));
      Pessoa maria = new Pessoa(1, "Maria", new BigDecimal("2500.00"));
      Pessoa jose = new Pessoa(3, "José", new BigDecimal("465.15"));

      arquivoCsv.escrever(joao, maria, jose);

      Pessoa p = arquivoCsv.ler(3);

      System.out.println(p);

      System.out.println(arquivoCsv.ler(1));
      System.out.println(arquivoCsv.ler(2));
      System.out.println(arquivoCsv.ler(0));
      System.out.println(arquivoCsv.ler(4));
   }
}

class Pessoa
{

   long id;
   String nome;
   BigDecimal salario;

   public Pessoa(long id, String nome, BigDecimal salario)
   {
      this.id = id;
      this.nome = nome;
      this.salario = salario;
   }

   @Override
   public String toString()
   {
      return id + ";" + nome + ";" + salario;
   }

   static Pessoa parse(String linha)
   {
      String[] arrayPessoa = linha.split(";");
      return parse(arrayPessoa);
   }

   static Pessoa parse(String[] arrayPessoa)
   {
      long id = Long.parseLong(arrayPessoa[0]);
      BigDecimal salario = new BigDecimal(arrayPessoa[2]);

      return new Pessoa(id, arrayPessoa[1], salario);
   }
}

class Arquivo
{

   File f;

   public Arquivo(String nomeArquivo)
   {
      this.f = new File(nomeArquivo);
   }

   public void escrever(Pessoa... p)
   throws FileNotFoundException
   {
      PrintWriter writer = null;
      try
      {

         writer = new PrintWriter(f);

         for (Pessoa pessoa : p)
         {
            writer.println(pessoa);
         }
      }
      finally
      {
         writer.close();
      }
   }

   public Pessoa ler(long id)
   throws FileNotFoundException, IOException
   {
      String strId = Long.toString(id);

      LineNumberReader r = null;

      try
      {
         r = new LineNumberReader(new FileReader(f));

         String linha;

         while ((linha = r.readLine()) != null)
         {
            String[] arrayPessoa = linha.split(";");

            if (arrayPessoa[0].equals(strId))
               return Pessoa.parse(arrayPessoa);
         }

         return null;
      }
      finally
      {
         r.close();
      }
   }
}

Provavelmente já tem bibliotecas prontas p/ ligar com arquivos CSV.