package galia_kalchevska;
import java.io.*;
import java.util.*;
/**
* Clase que opera con el archivo binario "clientes.dat"
*
* @author GALIA
* @version 4.0
*/
public class Lista extends ArrayList<Object> {
/* al extender del ArrayList, necesita una constante de este tipo */
private static final long serialVersionUID = -5522533920789505597L;
@SuppressWarnings("unchecked")
public static List<Object> LeerFichero(String ruta) throws IOException {
/* abrimos stream de lectura del fichero */
FileInputStream input = null;
/* abro stream de entrada para leer el objeto */
ObjectInputStream objeto = null;
/* el List de clientes */
List<Object> lista_clientes;
/* para ver si existe el archivo */
boolean existe = true;
/* trabajamos con los streams */
try {
input = new FileInputStream(ruta);
objeto = new ObjectInputStream(input);
} catch (FileNotFoundException e) {
/* si el objeto no existe */
existe = false;
} catch (Exception e) {
System.out.println("Error. No se puede acceder al fichero");
}
/* Volcamos el List en el ArrayList */
lista_clientes = new ArrayList<Object>();
/* si el fichero existe */
if (existe == true) {
try {
/*
* el @SuppressWarnings("unchecked") es porque aquí me da
* excepciones descontroladas. Leemos el objeto.
*/
lista_clientes = (List<Object>) objeto.readObject();
/* cierro stream */
objeto.close();
/* cerramos el último stream */
input.close();
/* capturando algunas excepciones */
} catch (IOException ex) {
System.out.println("Error al recorrer fichero lectura");
System.exit(0);
} catch (ClassNotFoundException ex) {
System.out.println("Error al listar fichero");
}
}
/* devuelve el ArrayList */
return lista_clientes;
}
public static void EscribirFichero(String ruta, List<Object> lista_clientes)
throws IOException {
/* lo mismo que arriba, pero con los streams de entrada */
FileOutputStream fichero = null;
/* registro almacena cada objeto Cliente */
ObjectOutputStream registro = null;
try {
fichero = new FileOutputStream(ruta);
registro = new ObjectOutputStream(fichero);
/* se escribe el objeto */
registro.writeObject(lista_clientes);
/* capturando excepciones */
} catch (IOException ex) {
System.out.println("Error ficheros escritura. " + ex);
} catch (Exception ex) {
System.out.println("\"Error. No se puede acceder al fichero\"");
}
/* cierro los streams */
registro.close();
fichero.close();
}
}
Opera con el archivo binario "clientes.dat" resultado de las operaciones de inserción, borrado, actualización...etc.
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.