Estou encontrando problemas para ler um TXT onde contenha delimitadores.
Gravar foi beleza, agora ler ta dificil.
Alguém pode me ajudar?
[code]
import java.awt.FileDialog;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Agendinha extends JFrame implements ActionListener {
private JLabel lNome = new JLabel(“Nome”);
private JLabel lTele = new JLabel(“Telefone”);
private JLabel lEnde = new JLabel(“Endereço”);
private JButton b1 = new JButton(“Grava”);
private JButton b2 = new JButton(“Abre”);
private JTextField t1 = new JTextField("");
private JTextField t2 = new JTextField("");
private JTextField t3 = new JTextField("");
private String nome, endereco, telefone, nome_arquivo;
private JPanel P1;
private FileDialog Fabrir, Fsalvar;
public static void main(String[] args) {
    JFrame Tela = new Agendinha();
    Tela.setVisible(true);
    WindowListener x = new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    };
    Tela.addWindowListener(x);
}
Agendinha() {
    t1.setColumns(25);
    t2.setColumns(25);
    t3.setColumns(25);
    b1.addActionListener(this);
    b2.addActionListener(this);
    setTitle("Agenda Simples");
    setResizable(false);
    setSize(300, 220);
    setLocationRelativeTo(null);
    setAlwaysOnTop(true);
    getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
    Fabrir = new FileDialog(this, "Abrir arquivo", FileDialog.LOAD);
    Fsalvar = new FileDialog(this, "Salvar arquivo", FileDialog.SAVE);
    P1 = new JPanel();
    P1.setLayout(new FlowLayout(FlowLayout.CENTER));
    P1.add(b1);
    P1.add(b2);
    getContentPane().add(lNome);
    getContentPane().add(t1);
    getContentPane().add(lTele);
    getContentPane().add(t2);
    getContentPane().add(lEnde);
    getContentPane().add(t3);
    getContentPane().add(P1);
}
public void actionPerformed(ActionEvent e) {
    if (e.getSource() == b1) {
        try {
            nome = t1.getText();
            telefone = t2.getText();
            endereco = t3.getText();
            Fsalvar.setVisible(true);
            if (Fsalvar.getFile() == null)
                return;
            nome_arquivo = Fsalvar.getDirectory() + Fsalvar.getFile();
            FileWriter out = new FileWriter(nome_arquivo);
            out.write(nome + ";" + telefone + ";" + endereco);
//                out.write(telefone);
//                out.write(endereco);
out.close();
t1.setText("");
t2.setText("");
t3.setText("");
} catch (Exception exc) {
JOptionPane.showMessageDialog(null, “Ocorreu um Erro de Gravação”,
“Operação Não Realizada”, JOptionPane.ERROR_MESSAGE);
}
}
if (e.getSource() == b2) {
try {
Fabrir.setVisible(true);
if (Fabrir.getFile() == null)
return;
nome_arquivo = Fabrir.getDirectory() + Fabrir.getFile();
FileReader in = new FileReader(nome_arquivo);
String T = “”;
int i = in.read();
while (i != -1)
{
T = T + (char)i;
i = in.read();
}
//                t1.setText(T);
StringTokenizer st = new StringTokenizer(T, “;”);
while (st.hasMoreTokens())
System.out.println("Cada registro em separadao>> " +
st.nextToken());
t1.setText(T);
} catch (Exception exc2) {
JOptionPane.showMessageDialog(null, “Ocorreu um Erro ao Tentar Abrir”,
“Operação Não Realizada”, JOptionPane.ERROR_MESSAGE);
}
}
}
}[/code]
O meu problema ta neste trecho
        if (e.getSource() == b2) {
            try {
                Fabrir.setVisible(true);
                if (Fabrir.getFile() == null)
                    return;
                nome_arquivo = Fabrir.getDirectory() + Fabrir.getFile();
                FileReader in = new FileReader(nome_arquivo);
                String T = "";
                int i = in.read();
                while (i != -1)
                {
                    T = T + (char)i;
                    i = in.read();
                }
//                t1.setText(T);
                StringTokenizer st = new StringTokenizer(T, ";");
                while (st.hasMoreTokens())
    				System.out.println("Cada registro em separadao>> " + 
                            st.nextToken());
                t1.setText(T);
Fico no aguardo da ajuda de vocês.

