Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 22 Anuncio
Anuncio

Más Contenido Relacionado

Más reciente (20)

Anuncio

18. Clase File

  1. 1. Eduardo Corral Muñoz eoi_eduardo@corral.es Java Bootcamp F.4411.316.009 - POEJ/MIXTO/F. Generation/ Curso JAVA (Online-Nacional) 2ªEd.
  2. 2. Java Intermedio 3
  3. 3. Índice _01 _02 _03 _04 Manejo de archivos La clase File Creación de archivos Lectura/Escritura Eliminar archivos
  4. 4. 01 Manejo de archivos La clase File
  5. 5. La clase File El manejo del sistema de archivos es un parte importante de cualquier aplicación, sea cual sea el lenguaje que empleemos para su programación. Java dispone de diversos métodos para crear, leer, actualizar y borrar archivos. La clase encargada del manejo de archivos es File que se encuentra en el paquete java.io. Para manejar un archivo, creamos un objeto de la clase File y especificamos el nombre del archivo y/o la carpeta: import java.io.File; // importa la clase File File miObjeto = new File(“nombre.txt”); // Especifica el nombre Manual
  6. 6. La clase File Algunos métodos de la clase File: Método Tipo Descripción canRead() Boolean Comprueba si un archivo puede o no leerse canWrite() Boolean Comprueba si un archivo puede escribirse createNewFile() Boolean Crea un nuevo archivo vacio delete() Boolean Elimina un archivo exists() Boolean Comprueba si un archivo existe getName() String Devuelve el nombre de un archivo getAbsolutePath() String Devuelve el path absoluto del archivo length() Long Devuelve la longitud de un archivo en bytes list() String[] Devuelve un array con los archivos contenidos en una carpeta mkdir() Boolean Crea una carpeta
  7. 7. 02 Creación de archivos
  8. 8. Crear archivos Para crear un archivo tenemos el método createNewFile(). Este método devuelve true si se ha creado correctamente o false si el archivo ya existe. Utilizaremos try … catch para manejar las excepciones, IOException, que se puedan producir si el archivo no se puede crear por cualquier motivo. Para crear un archivo en una carpeta específica, hay que indicar el path completo empleando doble “backslash” (). Si el path completo es: C:UsersecorrDocumentsCursoEOIJavamiarchivo.txt debemos usar: C: UsersecorrDocumentsCursoEOIJavamiarchivo.txt
  9. 9. Crear archivos import java.io.File; import java.io.IOException; public class CreaArchivo { public static void main(String[] args) { try { File archivo = new File("miarchivo.txt"); if (archivo.createNewFile()) { System.out.println("Creado: " + archivo.getName()); } else { System.out.println(“¡El archivo ya existe!"); } } catch (IOException e) { System.err.println("¡Error al crear el archivo"); e.printStackTrace(); } } }
  10. 10. 03 Lectura/Escritura
  11. 11. Escribir en un archivo Para escribir en un archivo tenemos el método write(), incluido en la clase FileWriter. Una vez se ha escrito en el archivo, debemos emplear el método close() para cerrarlo y dejarlo accesible para poder leerlo.
  12. 12. Escribir en un archivo import java.io.FileWriter; import java.io.IOException; public class EscribirEnArchivo { public static void main(String[] args) { try { FileWriter escribir = new FileWriter(“miarchivo.txt"); escribir.write(“Escribiendo en miarchivo desde Java"); escribir.close(); System.out.println(“¡Escritura correcta!"); } catch (IOException e) { System.out.println("¡A ocurrido un error!"); e.printStackTrace(); } } }
  13. 13. Escribir en un archivo Al instanciar el objeto tipo FileWriter, si no existía previamente el archivo lo crea automáticamente. Si creamos el objeto pasando como parámetro únicamente el nombre del archivo, el método write() sobreescribirá cualquier contenido que hubiera en el archivo y comenzara a escribir en el principio del mismo. (Puntero de escritura al principio del archivo) FileWriter escribir = new FileWriter(“miarchivo.txt"); Si creamos el objeto pasando como parámetro el nombre del archivo y, como segundo parámetro (append) true, el método write() empezará a escribir a continuación del contenido previo que tuviera el archivo. (Puntero de escritura al final del archivo) FileWriter escribir = new FileWriter(“miarchivo.txt“, true);
  14. 14. Leer un archivo Para leer un archivo emplearemos la clase Scanner del paquete java.util. // Importamos las clases que intervienen import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner;
  15. 15. Leer un archivo public class LeerArchivo { public static void main(String[] args) { try { File archivo = new File(“miarchivo.txt"); Scanner leer = new Scanner(archivo); while (leer.hasNextLine()) { String linea = leer.nextLine(); System.out.println(linea); } leer.close(); } catch (FileNotFoundException e) { System.out.println ("¡A ocurrido un error!"); e.printStackTrace(); } } }
  16. 16. Leer un archivo Para obtener más información de un archivo emplearemos algunos métodos de la clase File. import java.io.File; public class GetFileInfo { public static void main(String[] args) { File arch = new File("filename.txt"); if (arch.exists()) { System.out.println("Nombre: " + arch.getName()); System.out.println("Path: " + arch.getAbsolutePath()); System.out.println("Escribible: " + arch.canWrite()); System.out.println("Legible: " + arch.canRead()); System.out.println("Tamaño: " + arch.length()); } else { System.out.println("¡El archivo no existe!"); } } }
  17. 17. Leer o escribir un archivo En el API de Java hay disponibles muchas clases que permiten efectuar lecturas o escrituras en archivos como: FileReader, BufferedReader, Files, Scanner, FileInputStream, FileWriter, BufferedWriter, FileOutputStream, etc… El uso de cada una de ellas depende tanto de la versión de Java que se esté utilizando como del tipo de datos que vayamos a leer (bytes o caracteres), del tamaño del archivo o de la línea, etc …
  18. 18. 04 Eliminar archivos
  19. 19. Eliminar archivos Para leer un borrar un archivo o carpeta emplearemos el método delete() de la clase File del paquete java.io. import java.io.File; public class BorraArchivo { public static void main(String[] args) { File arch = new File("miarchivo.txt"); if (arch.delete()) { System.out.println("Borrado: " + arch.getName()); } else { System.out.println("¡No he podido borrarlo!"); } } }
  20. 20. Eliminar archivos Para borrar una carpeta es preciso que esta esté vacía. import java.io.File; public class BorraCarpeta { public static void main(String[] args) { File carperta = new File("C:UsersMyNameTest"); if (carpeta.delete()) { System.out.println("Borrada: " + carpeta.getName()); } else { System.out.println(“¡No he podido borrarla!"); } } }
  21. 21. Ejercicios Listar el contenido de una carpeta del sistema de archivos Listar el contenido de una carpeta del sistema de archivos y de todas sus subcarpetas mostrando el tamaño de los archivos Mostrar el listado anterior como “estructura de árbol” Crear un archivo y guardar en el contenido de un array (o estructura de datos similar) que contenga nombres y correos electrónicos. Dar a ese archivo el formato y extensión .csv. (abrir en Excel) Leer un archivo .csv completo y mostrarlo en consola. Leer un archivo .csv y guardar el resultado en una array o estructura similar. …

×