apuntes:ficheros
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
apuntes:ficheros [2018/11/06 15:34] – [Serialización de objetos] fernando | apuntes:ficheros [2024/09/16 16:03] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 60: | Línea 60: | ||
<code java> | <code java> | ||
- | FileWriter fichero = null; | ||
PrintWriter escritor = null; | PrintWriter escritor = null; | ||
- | try { | + | |
- | | + | escritor |
- | | + | escritor.println(" |
- | | + | escritor.close(); |
- | } catch (IOException ioe) { | + | |
- | ioe.printStackTrace() ; | + | |
- | } finally { | + | |
- | if (fichero != null) | + | |
- | try { | + | |
- | fichero.close(); | + | |
- | } catch (IOException ioe) { . . . } | + | |
- | } | + | |
</ | </ | ||
Línea 83: | Línea 74: | ||
Scanner lector = null; | Scanner lector = null; | ||
- | try { | + | lector = new Scanner(fichero); |
- | lector = new Scanner(fichero); | + | while(lector.hasNextLine()){ |
- | | + | |
- | System.out.println(lector.nextLine()); | + | |
- | } | + | |
- | } catch (FileNotFoundException e) { | + | |
- | | + | |
- | }finally { | + | |
- | | + | |
- | lector.close(); | + | |
- | } | + | |
} | } | ||
+ | lector.close(); | ||
</ | </ | ||
+ | |||
+ | === Otras formas de escribir/ | ||
+ | |||
+ | * Escribir Con FileWriter | ||
+ | <code java> | ||
+ | FileWriter writer = new FileWriter(" | ||
+ | writer.write(" | ||
+ | writer.close(); | ||
+ | |||
+ | |||
+ | //Si quiero que no me sobrescriba el fichero destino | ||
+ | FileWriter writer = new FileWriter(" | ||
+ | |||
+ | </ | ||
+ | |||
+ | * Con BufferedWriter / Reader | ||
+ | <code java> | ||
+ | BufferedWriter writer = new BufferedWriter(" | ||
+ | writer.write(" | ||
+ | writer.close(); | ||
+ | |||
+ | |||
+ | BufferedReader reader = new BufferedReader(" | ||
+ | cadena = reader.readLine(); | ||
+ | |||
+ | //Mientras haya lineas para leer (no devuelva null) | ||
+ | while( cadena != null ){ | ||
+ | | ||
+ | | ||
+ | } | ||
+ | reader.close(); | ||
+ | </ | ||
+ | |||
==== Ficheros de configuración ==== | ==== Ficheros de configuración ==== | ||
Línea 216: | Línea 233: | ||
//Creo un documento XML y creo el nodo raiz " | //Creo un documento XML y creo el nodo raiz " | ||
Document documento = dom.createDocument(null, | Document documento = dom.createDocument(null, | ||
- | Element raiz = document.createElement(" | + | Element raiz = documento.createElement(" |
documento.getDocumentElement().appendChild(raiz); | documento.getDocumentElement().appendChild(raiz); | ||
Línea 256: | Línea 273: | ||
//Recorro cada uno de los elementos producto para obtener sus campos | //Recorro cada uno de los elementos producto para obtener sus campos | ||
- | NodeList productos = documento.getElementyByTagName(" | + | NodeList productos = documento.getElementsByTagName(" |
for (int i = 0; i < productos.getLength(); | for (int i = 0; i < productos.getLength(); | ||
Node producto = productos.item( i ); | Node producto = productos.item( i ); | ||
Element elemento = ( Element ) producto; | Element elemento = ( Element ) producto; | ||
System.out.println(elemento.getElementsByTagName(" | System.out.println(elemento.getElementsByTagName(" | ||
- | System.out.println(elemento.getElementsByTagName(" | + | System.out.println(elemento.getElementsByTagName(" |
} | } | ||
Línea 290: | Línea 307: | ||
Hay que tener en cuenta que durante el proceso de serialización, | Hay que tener en cuenta que durante el proceso de serialización, | ||
+ | |||
+ | ===Interface Serializable=== | ||
+ | Para poder guardar objetos de una clase directamente en un fichero binario, todas las clases a las que pertenecen los objetos que guarde deben implementar '' | ||
+ | |||
+ | Por ejemplo, si quiero guardar una lista de productos directamente en fichero, tanto la clase ArrayList, como la clase Producto, deben ser Serializable. ArrayList ya lo es, así que debemos implementarla sobre las clases que nosotros creamos (Producto en este caso). | ||
=== Serializar un objeto === | === Serializar un objeto === | ||
Línea 1165: | Línea 1187: | ||
===== Proyectos de ejemplo ===== | ===== Proyectos de ejemplo ===== | ||
- | Los proyectos | + | Los proyectos |
Para manejaros con Git recordad que tenéis una serie de videotutoriales en la sección [[extra: | Para manejaros con Git recordad que tenéis una serie de videotutoriales en la sección [[extra: | ||
Línea 1171: | Línea 1193: | ||
Por otra parte, para el tema de [[http:// | Por otra parte, para el tema de [[http:// | ||
- | También, los proyectos de ejemplo de estos apuntes están en el [[http:// | + | También, los proyectos de ejemplo de estos apuntes están en el [[http:// |
apuntes/ficheros.1541518457.txt.gz · Última modificación: 2024/09/16 16:05 (editor externo)