Como criar, gravar, ler e alterar um arquivo txt em java swing?

1 resposta
java
M

Bos tarde, estou com duvidas de como criar, gravar, ler e alterar um arquivo txt em java swing.
segue meu condigo:

txtNov.java

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToolBar;


    class janela extends JFrame implements ActionListener {
        
        JButton vrAbrir = null;
        JToolBar vrBarraFerramentas = null;
        JanelaAbrir janelaInf =null;
        JButton voltar = null;
        
        public void actionPerformed(ActionEvent evento)
        {
            if(evento.getSource() == vrAbrir )
            {
                janelaInf.setVisible(true);
                /*JFileChooser chooser = new JFileChooser();
                int returnVal = chooser.showOpenDialog(null);
                    if (returnVal != JFileChooser.APPROVE_OPTION) {
                        return;
                }*/
       
            }
            else if(evento.getSource() == voltar)
            {
                JOptionPane.showMessageDialog(null, "Sistema Finalizado.");
                System.exit(0);
            }
        }
        
        
        public janela() throws IOException
        {
            setTitle("Janela Principal");
            setSize(300,300);
            setLocation(500, 75);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLayout(new BorderLayout());
            
            vrBarraFerramentas = new JToolBar();
            vrBarraFerramentas.setOrientation(JToolBar.HORIZONTAL);
            vrBarraFerramentas.setFloatable(false);
            
            vrAbrir = new JButton(new ImageIcon(getClass().getResource("abrir.png")));
            voltar = new JButton(new ImageIcon(getClass().getResource("fechar.png")));
            
            
            JPanel painelCentral = new JPanel();
            painelCentral.setLayout(new GridLayout(4,4));
            
            add(painelCentral,BorderLayout.CENTER);
            
            vrBarraFerramentas.add(vrAbrir);
            vrBarraFerramentas.add(voltar);
            
            janelaInf = new JanelaAbrir();
            
            vrAbrir.addActionListener(this);
            voltar.addActionListener(this);
            
            add(vrBarraFerramentas, BorderLayout.NORTH);
            
            setVisible(true);
        }
    }
    
public class TxtNov {
    public static void main(String[] args) throws IOException {
        new janela();
    }
}







janelaAbrir.java

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;

public class JanelaAbrir extends JFrame implements ActionListener {
    
    //atribustos da janela, botao sair
    JButton voltar = null;
    JToolBar vrBarraFerramentas = null;
    JButton vrSalvar = null;
    
    public JanelaAbrir() throws IOException
    {
        //configurando o titulo, tamanho e gerenciador de layout da janela
        setTitle("Arquivo TXT");
        setSize(540,540);
        setLocation(500, 75);
        setLayout(new BorderLayout());
        
        vrBarraFerramentas = new JToolBar();
        vrBarraFerramentas.setOrientation(JToolBar.HORIZONTAL);
        vrBarraFerramentas.setFloatable(false);
        
        vrSalvar = new JButton(new ImageIcon(getClass().getResource("salvar.png")));
        voltar = new JButton(new ImageIcon(getClass().getResource("fechar.png")));
        
        String mostra="";
        String nomeArq="C:\\Arquivo.txt"; //Nome do arquivo, pode ser absoluto, ou pastas /dir/teste.txt
        String linha="";
        File arq = new File(nomeArq);
  
        //Arquivo existe
        if (arq.exists())
        {
            try
            {
                mostra+="Conteudo:\n";
                //abrindo arquivo para leitura
                FileReader reader = new FileReader(nomeArq);
                //leitor do arquivo
                BufferedReader leitor = new BufferedReader(reader);
                while(true)
                {
                    linha=leitor.readLine();
                    if(linha==null)
                        break;
                    mostra+=linha+"\n";
                }
            }
            catch(Exception erro) {}
            add(new JLabel(mostra),BorderLayout.CENTER);
            //JOptionPane.showMessageDialog(null,mostra,"Arquivo...",1);
        }
        //Se nao existir
        else{
            JOptionPane.showMessageDialog(null,"Arquivo nao existe!","Erro",0);
        }
            
        vrBarraFerramentas.add(vrSalvar);
        vrBarraFerramentas.add(voltar);
        
        //registra o botao ao tratador de enventos
        voltar.addActionListener(this);
        vrSalvar.addActionListener(this);
        
        add(vrBarraFerramentas, BorderLayout.NORTH);
        
    }
    
    public void actionPerformed(ActionEvent evento)
    {
        this.dispose();
        
        if(evento.getSource() == vrSalvar)
        {
            File file = new File("C:\\Arquivo.txt");
        
            try
            {
                FileWriter writer = new FileWriter(file);
                BufferedWriter buffer = new BufferedWriter(writer);
            
                buffer.write("Gravar primiera linha..");
                buffer.newLine();
                buffer.write("Gravar segunda linha..");
                buffer.flush();
                JOptionPane.showMessageDialog(null, "Arquivo salvo com sucesso!");
            }
            catch(IOException e)
            {
                JOptionPane.showMessageDialog(null, "Erro ao salvar arquivo!");
            }
            
        }
        else if(evento.getSource() == voltar)
        {
            JOptionPane.showMessageDialog(null, "Voltando para a pagina principal.");
        }
    }
    
}

1 Resposta

P

primeiro: swing não tem nada haver com vc manipular um arquivo, seja ele qual for.

segundo: não consigo entender quais as suas duvidas e, acredite, eu não vou tentar executar pra ver o que acontece.

Criado 26 de setembro de 2016
Ultima resposta 26 de set. de 2016
Respostas 1
Participantes 2