Gravar infomação digitada em um arquivo?

9 respostas
filipegpaulo

Bom dia,
Gostaria de saber como guardar informações digitadas por um usuário em um programa em swing
Exemplo:

import javax.swing.*;
public class Inserir {

	public static void main (String arg[]){
		
		String sNome, sIdade, sTelefone;
		int iIdade;
		
		sNome = JOptionPane.showInputDialog(null, "Digite seu nome");
		
		sIdade = JOptionPane.showInputDialog(null, "Informe a sua idade");
		iIdade = Integer.parseInt(sIdade);
		
		sTelefone = JOptionPane.showInputDialog(null, "Enter com o seu telefone");
		
		JOptionPane.showMessageDialog(null,"Seus dados foram armazenados com sucesso!");
	}
}

O usuário preenche essas perguntas e no fim do programa isso gera um arquivo de texto com os dados digitados pelo usuário, e esse arquivo fica salvo em algum diretório.
Obrigado pessoal

9 Respostas

renamed
Utilize a classe FileWriter... exemplo como base:
import java.io.FileWriter;
import java.io.IOException;

public class Arquivo {
	
	
	public static void main(String[] a) {
		FileWriter fw = null;
		try {
			fw = new FileWriter("CAMINHO DO ARQUIVO");
			fw.write("Olá");
		} catch (IOException e) {
			e.printStackTrace();
		} finally{
			if (fw != null){
				try {
					fw.close();
				} catch (IOException e) {}
			}
		}

	}
}

ok?

P

Vocês estão muito mal acostumados, não usam o Google nem a busca do forum. Eu não manjo muito todo dia tenho muitas duvidas. E em toda a minha vida postei 1 topico aqui as outras achei tudo no Google.

http://www.guj.com.br/posts/list/17461.java

filipegpaulo
import java.io.FileWriter;  
 import java.io.IOException;  
    
   public class Arquivo {  
          
         
       public static void main(String[] a) {  
           FileWriter fw = null;  
        try {  
             fw = new FileWriter("c:");  
             fw.write("Olá");  
          } catch (IOException e) {  
             e.printStackTrace();  
         } finally{  
             if (fw != null){  
               try {  
                     fw.close();  
                   } catch (IOException e) {}  
               }  
           }  
     
       }  
   }

eu copiei esse codigo e compilei mas deu um erro, porque será...

renamed

vc precisa coloicar o nome do arquivo
“C:\Windows\Desktop\Arquivo.txt” por exemplo =)

filipegpaulo

Esse rodou, inclusive gerou o arquivo:

import java.io.FileWriter;  
 import java.io.IOException;  
    
   public class Arquivo {  
          
         
       public static void main(String[] a) {  
           FileWriter fw = null;  
        try {  
             fw = new FileWriter("C:\Arquivo.txt");  
             fw.write("Olá");  
          } catch (IOException e) {  
             e.printStackTrace();  
         } finally{  
             if (fw != null){  
               try {  
                     fw.close();  
                   } catch (IOException e) {}  
               }  
           }  
     
       }  
   }
Mas como coloco dentro desse arquivo no lugar de "olá" colocar as imformações digitadas pelo o usuário desse programa:
import javax.swing.*;
public class Inserir {

	public static void main (String arg[]){
		
		String sNome, sIdade, sTelefone;
		int iIdade;
		
		sNome = JOptionPane.showInputDialog(null, "Digite seu nome");
		
		sIdade = JOptionPane.showInputDialog(null, "Informe a sua idade");
		iIdade = Integer.parseInt(sIdade);
		
		sTelefone = JOptionPane.showInputDialog(null, "Enter com o seu telefone");
		
		JOptionPane.showMessageDialog(null,"Seus dados foram armazenados com sucesso!");
	}
}
P

Troca isso:

fw.write("Olá");

Por isso:

fw.write(sNome+sIdade+iIdade+sTelefone);
manolimars
import javax.swing.*;
import java.io.*;
public class Inserir
{

	public static void main (String arg[])
        {
		
		String sNome, sIdade, sTelefone;
		int iIdade;
                boolean erro;
		
		sNome = JOptionPane.showInputDialog(null, "Digite seu nome");
		
		sIdade = JOptionPane.showInputDialog(null, "Informe a sua idade");
		iIdade = Integer.parseInt(sIdade);
		
		sTelefone = JOptionPane.showInputDialog(null, "Entre com o seu telefone");
                
                erro = gravaTxt(sNome+" - "+iIdade+" - "+sTelefone); //manda as informações para serem gravados no txt
		 
                if(erro==false)
                {
                 	JOptionPane.showMessageDialog(null,"Seus dados foram armazenados com sucesso!");
                }
               else
               {
                       JOptionPane.showMessageDialog(null,"Não foi possível gravar seus dados!!!");
               }
	}


    public boolean gravaTxt(String dados)
    {
        try
        {
            FileWriter fw = new FileWriter("Dados.txt",true);
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(dados);
            bw.newLine();
            bw.close();
            return false;
        }
        catch(IOException exc)
        {
            return true;
        }

    }
}
filipegpaulo

consegui…
obrigado mesmo, Valeu pela ajuda

A

Oi Filipe, beleza? É o André AS hehehe, eai velho quero ver você afiado em Java viu! Veja abaixo algumas modificaçõeszinhas que fiz, tais como melhor nomear as variáveis, ter
um tratamento de erros no código, identar etc:

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.JOptionPane;


public class Teste
{
	public static void main (String arg[])  
	{  
        String name = null;
        Integer age = null;
        Integer phone = null;  
        boolean flag = false;  
       
	    name = JOptionPane.showInputDialog(null, "Digite seu nome:");  

        try
	    {
		    age = Integer.parseInt(JOptionPane.showInputDialog(null, "Informe a sua idade:"));  
	    } catch (Exception e)
	    {
	    	JOptionPane.showMessageDialog(null, "Erro fatal!");  
	    	System.exit(0);
	    }
	    
	    try
	    {
	    	phone = Integer.parseInt(JOptionPane.showInputDialog(null, "Entre com o seu telefone:"));  
	    } catch (Exception e)
	    {
	    	JOptionPane.showMessageDialog(null, "Erro fatal!");  
	    	System.exit(0);
	    }
	    
        flag = storeDataInTxt("Nome: " + name + " - " + "idade: " + age + " - " + "Telefone: " + phone); 
        
        if(flag)  
        {  
        	JOptionPane.showMessageDialog(null, "Seus dados foram armazenados com sucesso.");  
        }  
        else  
        {  
            JOptionPane.showMessageDialog(null, "Não foi possível gravar seus dados!");  
        }  
	}  


	 public static boolean storeDataInTxt(String data)  
	 {  
	     try  
	     {  
	         BufferedWriter bw = new BufferedWriter(new FileWriter("c:\Dados1.txt"));  
	         bw.write(data);  
	         bw.close();  
	         return true;  
	     }  
	     catch(IOException ioe)  
	     {  
	         ioe.printStackTrace();
	         return false;  
	     } 
	 }  
}
Criado 19 de novembro de 2009
Ultima resposta 12 de abr. de 2011
Respostas 9
Participantes 5