//Este programa lo hicimos hoy en la escuela, quiero compartirlo con ustedes por si alguna vez alguien tiene duda o necesita algo parecido a este programa, funciona con archivos, manejo de excepciones y sirve como una especie de agenda telefonica, nos permite:
-Consultar, Registrar e Imprimir los datos registrados, utilizamos las librerías java.io y javax.swingpackage archivobj;
import javax.swing.*;
import java.io.*;
public class agenda implements Serializable{
String nombre, tel;
public void captura(){
nombre=JOptionPane.showInputDialog(null,"Dame nombre","0o->by ooAlvar0oo",JOptionPane.PLAIN_MESSAGE);
tel=JOptionPane.showInputDialog(null,"Dame el teléfono","0o->by ooAlvar0oo",JOptionPane.PLAIN_MESSAGE);
}
}
package archivobj;
import javax.swing.*;
import java.io.*;
public class princagenda {
static agenda[]obj=new agenda[5];
public static int menu(){//Escribe menú y elige opción
String opt=JOptionPane.showInputDialog(null,"1.Captura datos\n2.Imprime datos\n3.Consulta datos\n4.Salir","Elige una opción",JOptionPane.PLAIN_MESSAGE);
int op=Integer.parseInt(opt);
return op;
}
public static void main(String[] args) throws FileNotFoundException, IOException,ClassNotFoundException{
// TODO code application logic here
int x=0;
String cad;
do{
x=menu();
switch(x){
case
1://Captura datos
try{
for(int i=0;i<5;i++){
obj[i]=new agenda();
obj[i].captura();
}
cad=JOptionPane.showInputDialog(null,"Nombre","Nombre del archivo",JOptionPane.PLAIN_MESSAGE);
FileOutputStream fos=new FileOutputStream("hola.txt");
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(obj);
oos.flush();
oos.close();
}
catch(IOException e){
System.out.println("Error al escribir");
}
break;
case
2://Imprimir //Abrir el archivo
FileInputStream fis=new FileInputStream("hola.txt");
ObjectInputStream ois=new ObjectInputStream(fis);
obj=(agenda[])ois.readObject(); //Casting
ois.close();
JTextArea areaSalida= new JTextArea();
String cad1=" ";
for(int i=0;i<5;i++){
cad1+=(obj[i].nombre+"\t"+obj[i].tel+"\n");
areaSalida.setText(cad1);
}
JOptionPane.showMessageDialog(null,areaSalida,"by ooAlvar0oo",JOptionPane.PLAIN_MESSAGE);
break;
case 3:
//Abrir el archivo
FileInputStream fis1=new FileInputStream("hola.txt");
ObjectInputStream ois1=new ObjectInputStream(fis1);
obj=(agenda[])ois1.readObject(); //Casting
ois1.close();
String nombre=JOptionPane.showInputDialog(null,"Dame el nombre para buscar","0o-> Búsqueda",JOptionPane.PLAIN_MESSAGE);
for(int i=0;i<5;i++)
if(obj[i].nombre.equalsIgnoreCase(nombre)){
JTextArea areaSalida2= new JTextArea();
String cad2=" ";
cad2+=(obj[i].nombre+"\n"+obj[i].tel+"\n");
areaSalida2.setText(cad2);
JOptionPane.showMessageDialog(null,areaSalida2,"0o-> Resultados de Búsqueda",JOptionPane.PLAIN_MESSAGE);
}
break;
case 4:
JOptionPane.showMessageDialog(null,"Hasta luego","0o->SALIDA",JOptionPane.PLAIN_MESSAGE);
break;
}
}
while(x==1|x==2|x==3);
}
}