Para probar este ejemplo de código te indico lo que tienes que hacer:
1) Copia en una clase java este código al que denominamos clase "MenuEscribirLeer" y que es la clase con el método main, es decir, la clase ejecutable
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;
public class MenuEscribirLeer {
public static void main(String[] args) throws IOException{
String menu="MENU DE Escribir y Leer\n";
int n1,n2,n3;
int op=0;
menu+="1. Escribir\n";
menu+="2. Leer\n";
menu+="3. Fin\n";
menu+="Escoja Opción:\n";
while (op!=3){
op=Integer.parseInt(JOptionPane.showInputDialog(menu));
switch (op){
case 1:
ObjetoEscribir objeto1 = new ObjetoEscribir();
objeto1.crearCodigoEscribir();
break;
case 2:
ObjetoLeer objeto2 = new ObjetoLeer();
objeto2.crearCodigoLeer();
break;
case 3:
break;
}
}
} // cierre del public static void main Ojo !!!! //------------------
public static void escribir ()throws IOException{
// TODO code application logic here
String archivo="nombre.txt";
FileWriter fw= new FileWriter(archivo,true);
BufferedWriter bw= new BufferedWriter(fw);
PrintWriter pw= new PrintWriter (bw);
String nombre="";
int sueldo,edad;
nombre=JOptionPane.showInputDialog("digite nombre");
sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));
edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));
pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
pw.close();
}
}
2) Copia en una clase este código al que denominamos clase ObjetoEscribir y que es la que permite escribir datos a un archivo
import javax.swing.*;
import java.io.*;
public class ObjetoEscribir {
public void crearCodigoEscribir() throws IOException {
// TODO code application logic here (algoritmo que escribe archivo)
String archivo="nombre.txt";
FileWriter fw= new FileWriter(archivo,true);
BufferedWriter bw= new BufferedWriter(fw);
PrintWriter pw= new PrintWriter (bw);
String nombre="";
int sueldo,edad;
nombre=JOptionPane.showInputDialog("digite nombre");
sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));
edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));
pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
pw.close();
}
}
3) Copia en una clase java este código al que denominamos clase ObjetoLeer y que es la que permite leer datos desde el archivo
import javax.swing.*;
import java.io.*;
public class ObjetoLeer {
public void crearCodigoLeer() throws IOException {
// TODO code application logic here (algoritmo que lee archivo)
FileReader fr = new FileReader("nombre.txt");
BufferedReader br= new BufferedReader(fr);
String linea="";
linea=br.readLine();
while(linea!=null){
String vector[]= linea.split("--__--");
JOptionPane.showMessageDialog(null,"Nombre"+vector[0]+"\nsueldo1:"+vector[1]+"\nsueldo1:"+vector[2]);
linea=br.readLine();
}
}
}
4) Para ver cómo funciona, ejecuta (invoca el método main) de la clase MenuEscribirLeer. Cuando lo hagas te aparecerá un menú que te da las opciones 1. Escribir, 2. Leer y 3. Fin. Elegimos escribir y ponemos como nombre Jose, como sueldo 500 y como edad 33. Debe aparecer un mensaje "Los datos se guardaron". Ahora elegimos otra vez escribir y ponemos como datos paco, 233, 53.
En el mismo directorio donde tengamos los archivos java se habrá creado un archivo denominado "nombre.txt" que contendrá esta información:
Jose--__--500--__--33--__--
paco--__--233--__--53--__--
Donde los símbolos --__-- son símbolos delimitadores.
Ahora si elegimos en el menú "Leer" nos mostrará los datos existentes en el archivo.
Aquí tienes de forma aproximada la lógica para manejar archivos de texto, intenta probarlo a ver si te sale. Saludos!