import java.lang.*;
import java.lang.Object;
import java.io.*;
import Misclases.*;
class persona implements Serializable
{
String nom;
String dir;
String tel;
int edad;
persona(String n,String d,String t,int e)
{
nom=n;
dir=d;
tel=t;
edad=e;
}
}
class lista implements Serializable
{
int num;
persona arr[];
lista(int n)
{
num=n;
arr = new persona[num];
}
}
class A_O
{
public static void main(String [] args)
{
int op,num,i,edad,val;
int con=0,pos;
String tel;
lista obj = new lista(20);
String res,nom,nom1,dir;
FileInputStream fis = null;
ObjectInputStream dis = null;
ObjectOutputStream dos = null;
FileOutputStream fos = null;
try
{
while(true)
{
System.out.println("\t\t\tMENU");
System.out.println("\t\t1- AGREGAR");
System.out.println("\t\t2- MOSTAR");
System.out.println("\t\t3- MDIFICACIONES");
System.out.println("\t\t4- ELIMINAR");
System.out.println("\t\t5- SALIR");
System.out.print("\t\t\tTECLEA OPCION: ");
op=Getdat.getInt();
if(op==5)
break;
if(op==1)
{
System.out.print("\nNOMBRE DE ARCHIVO: ");
nom=Getdat.getCad();
File archivo = new File(nom);
if(archivo.exists())
{
System.out.print("\nDESEA SOBRE ESCRIBIR EL ARCHIVO s/n:");
res=Getdat.getCad();
if(res.equals("n")==true)
System.exit(1);
if(res.equals("s")==true)
archivo = new File(nom);
}
fos=new FileOutputStream(nom);
dos=new ObjectOutputStream(fos);
System.out.print("\n NUMERO DE ELEMENTOS: ");
num=Getdat.getInt();
for(i=0;i<num;i++)
{
System.out.print("\n NOMBRE: ");
nom1=Getdat.getCad();
System.out.print("\n DIRECCION: ");
dir=Getdat.getCad();
System.out.print("\n TELEFONO: ");
tel=Getdat.getCad();
System.out.print("\n EDAD: ");
edad=Getdat.getInt();
persona per= new persona(nom1,dir,tel,edad);
obj.arr[i]=per;
}
dos.writeObject(obj);
try
{
dos.close();
fos.close();
}
catch(IOException e)
{
System.out.println("ERROR1");
}
}
if(op==2)
{
System.out.print("\nNOMBRE DE ARCHIVO: ");
nom=Getdat.getCad();
File archivo = new File(nom);
if(archivo.exists())
{
fis=new FileInputStream(nom);
dis=new ObjectInputStream(fis);
try{
while(true)
{
con++;
obj=(lista)dis.readObject();
}
}
catch(IOException e)
{
System.out.println("");
}
for(i=0;i<con;i++){
System.out.println(obj.arr[i].nom);
System.out.println(obj.arr[i].dir);
System.out.println(obj.arr[i].tel);
System.out.println(obj.arr[i].edad);
}
try
{
dis.close();
fis.close();
}
catch(IOException e)
{
System.out.println("ERROR1");
}
}
else
System.out.println("NO EXISTE ARCHIVO");
con=0;
}
if(op==3)
{
System.out.print("\nNOMBRE DE ARCHIVO: ");
nom=Getdat.getCad();
File archivo = new File(nom);
if(archivo.exists())
{
fis=new FileInputStream(nom);
dis=new ObjectInputStream(fis);
System.out.print("\nPOSICION A MODIFICAR: ");
pos=Getdat.getInt();
try
{
while(true)
{
con++;
obj=(lista)dis.readObject();
}
}
catch(IOException e)
{
System.out.println("");
}
try
{
dis.close();
fis.close();
}
catch(IOException e)
{
System.out.println("ERROR1");
}
if(pos>con){
System.out.println("NO EXISTE POSICION"); }
else{
fos=new FileOutputStream(nom);
dos=new ObjectOutputStream(fos);
System.out.print("\n NOMBRE: ");
obj.arr[pos-1].nom=Getdat.getCad();
System.out.print("\n DIRECCION: ");
obj.arr[pos-1].dir=Getdat.getCad();
System.out.print("\n TELEFONO: ");
obj.arr[pos-1].tel=Getdat.getCad();
System.out.print("\n EDAD: ");
obj.arr[pos-1].edad=Getdat.getInt();
dos.writeObject(obj);
}
try
{
dos.close();
fos.close();
}
catch(IOException e)
{
System.out.println("ERROR1");
}
}
else
System.out.println("NO EXISTE ARCHIVO");
con=0;
}
if(op==4)
{
System.out.print("\nNOMBRE DE ARCHIVO: ");
nom=Getdat.getCad();
File archivo = new File(nom);
if(archivo.exists())
{
fis=new FileInputStream(nom);
dis=new ObjectInputStream(fis);
System.out.print("\nPOSICION A ELIMINAR: ");
pos=Getdat.getInt();
try
{
while(true)
{
con++;
obj=(lista)dis.readObject();
}
}
catch(IOException e)
{
System.out.println("");
}
try
{
dis.close();
fis.close();
}
catch(IOException e)
{
System.out.println("ERROR1");
}
if(pos>con){
System.out.println("NO EXISTE POSICION"); }
else{
fos=new FileOutputStream(nom);
dos=new ObjectOutputStream(fos);
obj.arr[pos]=obj.arr[pos+1];
dos.writeObject(obj);
}
try
{
dos.close();
fos.close();
}
catch(IOException e)
{
System.out.println("ERROR1");
}
}
else
System.out.println("NO EXISTE ARCHIVO");
con=0;
}
}
}
catch (NullPointerException e)
{
System.out.println("ARCHIVO1 NO EXISTE");
}
catch (ClassNotFoundException e)
{
System.out.println("ARCHIVO12 NO EXISTE");
}
catch (FileNotFoundException e)
{
System.out.println("ARCHIVO13 NO EXISTE");
}
catch(IOException e)
{
System.out.println("ERROR3");
}
/*finally
{
try
{
dos.close();
fos.close();
dis.close();
fis.close();
}
catch (NullPointerException e)
{
System.out.println("ARCHIVO1 NO EXISTE");
}
catch(IOException e)
{
System.out.println("ERROR1");
}
}*/
}
}