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.");
}
}
}