Arquivos Java

Propaganda
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();
}
}
}
Download