Exemplo 1101.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; class Exemplo1101 extends JFrame implements ActionListener { JLabel label1, label2, label3; JButton btAbrir, btGravar,btLimpar; JTextField tfCodigo, tfNome, tfEmail; public static void main(String[] args) { JFrame janela = new Exemplo1101(); janela.setUndecorated(true); janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); janela.setVisible(true); } Exemplo1101() { setTitle("Cadastro usando arquivo texto"); setBounds (250,50,340,160); getContentPane().setBackground (new Color (150,150,150)); label1 = new JLabel ("Código"); label2 = new JLabel ("Nome"); label3 = new JLabel ("Email"); btAbrir = new JButton ("Abrir"); btGravar = new JButton ("Gravar"); btLimpar = new JButton ("Limpar"); tfCodigo = new JTextField (); tfNome = new JTextField (); tfEmail = new JTextField (); btAbrir.addActionListener(this); btGravar.addActionListener(this); btLimpar.addActionListener(this); setLayout (null); label1.setBounds (10, 15, 40, 20); label2.setBounds (10, 40, 45, 20); label3.setBounds (10, 65, 45, 20); btAbrir.setBounds (10, 100, 75, 20); btGravar.setBounds (95, 100, 75, 20); btLimpar.setBounds (180, 100, 75, 20); tfCodigo.setBounds (60, 15, 55, 20); tfNome.setBounds (60, 40, 255, 20); tfEmail.setBounds (60, 65, 255, 20); getContentPane().add(label1); getContentPane().add(label2); getContentPane().add(label3); getContentPane().add(btAbrir); getContentPane().add(btGravar); getContentPane().add(btLimpar); getContentPane().add(tfCodigo); getContentPane().add(tfNome); getContentPane().add(tfEmail); } public void actionPerformed(ActionEvent e) { if (e.getSource() == btLimpar) { tfCodigo.setText(""); tfNome.setText(""); tfEmail.setText(""); } if (e.getSource() == btGravar) { if (tfCodigo.getText().equals("")) { JOptionPane.showMessageDialog(null, "O código não pode estar vazio!"); tfCodigo.requestFocus(); } else if (tfNome.getText().equals("")) { JOptionPane.showMessageDialog(null, "O nome não pode estar vazio!"); tfNome.requestFocus(); } else if (tfEmail.getText().equals("")) { JOptionPane.showMessageDialog(null, "O email não pode estar vazio!"); tfEmail.requestFocus(); } else try { PrintWriter out = new PrintWriter(tfCodigo.getText()+".txt"); out.println(tfCodigo.getText()); out.println(tfNome.getText()); out.println(tfEmail.getText()); out.close(); JOptionPane.showMessageDialog(null, "Arquivo gravado com sucesso!"); } catch(IOException erro) { JOptionPane.showMessageDialog(null, "Erro ao gravar no arquivo"); } } if (e.getSource() == btAbrir) { try { String arq = JOptionPane.showInputDialog(null, "Forneça o código a abrir:"); BufferedReader br = new BufferedReader(new FileReader(arq+".txt")); tfCodigo.setText(br.readLine()); tfNome.setText(br.readLine()); tfEmail.setText(br.readLine()); br.close(); } catch(IOException erro) { JOptionPane.showMessageDialog(null, "Erro ao abrir o arquivo"); } } } } Exemplo 1102.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; class Exemplo1102 extends JFrame implements ActionListener { JLabel label1,label2; JButton btGravar,btAbrir,btLimpar; JTextField tfTexto; TextArea textArea1; JPanel panel1; FileDialog fdAbrir,fdSalvar; public static void main(String[] args) { JFrame janela = new Exemplo1102(); janela.setUndecorated(true); janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); janela.setVisible(true); } Exemplo1102() { setTitle("Manipulação de arquivo Texto"); setBounds (250,50,500,300); setResizable(false); getContentPane().setBackground (new Color (150,150,150)); getContentPane().setLayout (new FlowLayout()); label1 = new JLabel("Texto a ser editado:"); label2 = new JLabel("Status:"); label1.setForeground(Color.black); label2.setForeground(Color.black); btGravar = new JButton("Gravar"); btAbrir = new JButton("Abrir"); btLimpar = new JButton("Limpar"); btGravar.addActionListener(this); btAbrir.addActionListener(this); btLimpar.addActionListener(this); tfTexto = new JTextField(35); tfTexto.setForeground(Color.red); tfTexto.setEditable(false); panel1 = new JPanel(); panel1.setLayout (new FlowLayout()); panel1.add(label2); panel1.add(tfTexto); textArea1 = new TextArea(8,60); fdAbrir = new FileDialog(this,"Abrir arquivo",FileDialog.LOAD); fdSalvar = new FileDialog(this,"Salvar arquivo",FileDialog.SAVE); getContentPane().add(label1); getContentPane().add(textArea1); getContentPane().add(btGravar); getContentPane().add(btAbrir); getContentPane().add(btLimpar); getContentPane().add(panel1); } public void actionPerformed(ActionEvent e) { String nome_do_arquivo; if (e.getSource() == btLimpar) { textArea1.setText(""); tfTexto.setText(""); } if (e.getSource() == btGravar) { try { fdSalvar.setVisible(true); if (fdSalvar.getFile()==null) return; nome_do_arquivo = fdSalvar.getDirectory()+fdSalvar.getFile(); FileWriter out = new FileWriter(nome_do_arquivo); out.write(textArea1.getText()); out.close(); tfTexto.setText("Arquivo gravado com sucesso !"); } catch(IOException erro) { tfTexto.setText("Erro ao gravar no arquivo !"); } } if (e.getSource() == btAbrir) { try { fdAbrir.setVisible(true); if (fdAbrir.getFile()==null) return; nome_do_arquivo = fdAbrir.getDirectory()+fdAbrir.getFile(); FileReader in = new FileReader(nome_do_arquivo); String s = ""; int i = in.read(); while (i!=-1) { s = s +(char)i; i = in.read(); } textArea1.setText(s); in.close(); tfTexto.setText("Arquivo aberto com sucesso !"); } catch(IOException erro) { tfTexto.setText("Erro ao abrir o arquivo !"); } } } } Exemplo 1103.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; public class Exemplo1103 extends JFrame implements ActionListener { JLabel label1,label2; JTextField t1,t2,t3; JButton b1,b2,b3; public static void main(String args[]) { JFrame janela = new Exemplo1103(); janela.setUndecorated(true); janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); janela.setVisible(true); } Exemplo1103() { setTitle("Gravação de números inteiros"); setBounds (300,50,280,150); getContentPane().setBackground (new Color (220,220,220)); label1 = new JLabel("Numero inicial :"); label1.setForeground(Color.black); label2 = new JLabel("Número Final :"); label2.setForeground(Color.black); b1 = new JButton("Gravar"); b1.addActionListener(this); b2 = new JButton("Limpar"); b2.addActionListener(this); b3 = new JButton("Somar"); b3.addActionListener(this); t1 = new JTextField(); t2 = new JTextField(); t3 = new JTextField(); getContentPane().setLayout(new GridLayout(4,2)); getContentPane().add(label1); getContentPane().add(t1); getContentPane().add(label2); getContentPane().add(t2); getContentPane().add(b1); getContentPane().add(b2); getContentPane().add(b3); getContentPane().add(t3); } public void actionPerformed(ActionEvent e) { if (e.getSource()==b2) { t1.setText(""); t2.setText(""); t3.setText(""); t1.requestFocus(); return; } if (e.getSource()==b1)//gravar { try { int n1 = Integer.parseInt(t1.getText()); int n2 = Integer.parseInt(t2.getText()); // String nome_do_arquivo = "C:/numeros.txt"; FileOutputStream arq = new FileOutputStream("arq.dat"); BufferedOutputStream buf = new BufferedOutputStream(arq); DataOutputStream dado = new DataOutputStream(buf); for (int i=n1;i<=n2;i++) dado.writeInt(i); dado.close(); JOptionPane.showMessageDialog(null,"Arquivo gerado com sucesso!","Gravação de arquivo",JOptionPane.INFORMATION_MESSAGE); } catch(java.io.IOException erro) { JOptionPane.showMessageDialog(null,"Erro ao Gravar o arquivo","Erro!",JOptionPane.ERROR_MESSAGE); } catch(NumberFormatException erro) { JOptionPane.showMessageDialog(null,"Digite apenas valores numéricos","Erro!",JOptionPane.ERROR_MESSAGE); } } if (e.getSource()==b3) //somar { int total = 0; try { FileInputStream arq = new FileInputStream("arq.dat"); BufferedInputStream buf = new BufferedInputStream(arq); DataInputStream dado = new DataInputStream(buf); while (true) { int i = dado.readInt(); total = total + i; } } catch(java.io.EOFException erro) { t3.setText("" + total); } catch(java.io.IOException erro) { JOptionPane.showMessageDialog(null,"Erro ao ler o arquivo","Erro!",JOptionPane.ERROR_MESSAGE); } } } } UtilsArquivo.java /** * Funções utilitárias para trabalhar com arquivos * autor: Gregui Shigunov * arquivo: UtilsArquivo.java * 20/09/2007 */ import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; public class UtilsArquivo { /** * Salva o conteúdo de uma variável em um arquivo * @param arquivo * @param conteudo * @param adicionar se true adicionar no final do arquivo * @throws IOException */ public static void salvar(String arquivo, String conteudo, boolean adicionar) throws IOException { FileWriter fw = new FileWriter(arquivo, adicionar); fw.write(conteudo); fw.close(); } /** * Carrega o conteúdo de um arquivo em uma String, se o aquivo * não existir, retornará null. * @param arquivo * @return conteúdo * @throws Exception */ public static String carregar(String arquivo) throws FileNotFoundException, IOException { File file = new File(arquivo); if (! file.exists()) { return null; } BufferedReader br = new BufferedReader(new FileReader(arquivo)); StringBuffer bufSaida = new StringBuffer(); String linha; while( (linha = br.readLine()) != null ){ bufSaida.append(linha +"\n"); } br.close(); return bufSaida.toString(); } /** * Exemplo de Utilização */ public static void main(String[] args) { String texto; try { do{ texto = JOptionPane.showInputDialog(null,"Digite uma frase ou fim para terminar"); if(!(texto.equals("fim"))) { UtilsArquivo.salvar("arquivo.txt", texto + "\n", true); } }while(!(texto.equals("fim"))); texto = UtilsArquivo.carregar("arquivo.txt"); System.out.println(texto); } catch (Exception e) { e.printStackTrace(); } } }