Herramientas de usuario

Herramientas del sitio


bloque3:ficheros

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bloque3:ficheros [25/01/2019 15:17] – [Uso de la clase File] Fernando Valdeónbloque3:ficheros [16/09/2024 20:53] (actual) – editor externo 127.0.0.1
Línea 5: Línea 5:
 La mayoría de las clases para manejo de ficheros están en el paquete ''java.io'', y por lo tanto deben ser importadas. La mayoría de las clases para manejo de ficheros están en el paquete ''java.io'', y por lo tanto deben ser importadas.
  
-**La mayoría de operaciones con ficheros lanzan excepciones que debemos controlar**.+**Algunos métodos de las clases que manejan ficheros lanzan excepciones que debemos controlar**.
 ===== Clase File ===== ===== Clase File =====
 La clase [[https://docs.oracle.com/javase/8/docs/api/java/io/File.html|File]] se usa para representar un fichero o directorio desde un programa en Java. Con esta clase no se puede leer ni escribir en él, pero ofrece una serie de métodos interesantes. La clase [[https://docs.oracle.com/javase/8/docs/api/java/io/File.html|File]] se usa para representar un fichero o directorio desde un programa en Java. Con esta clase no se puede leer ni escribir en él, pero ofrece una serie de métodos interesantes.
Línea 24: Línea 24:
 |boolean isDirectory()|true si es un directorio| |boolean isDirectory()|true si es un directorio|
 |boolean isFile()|true si es un fichero| |boolean isFile()|true si es un fichero|
 +|boolean canWrite()|true si tengo permisos de escritura|
 +|boolean canRead()|true si tengo permisos de lectura|
 |String getPath()|Devuelve la ruta con la que se creó el objeto| |String getPath()|Devuelve la ruta con la que se creó el objeto|
 |String getAbsolutePath()|Devuelve la ruta absoluta| |String getAbsolutePath()|Devuelve la ruta absoluta|
Línea 29: Línea 31:
 |long length()|Devuelve el tamaño en bytes del fichero, ó 0 si no existe.| |long length()|Devuelve el tamaño en bytes del fichero, ó 0 si no existe.|
 |boolean mkdirs()|Crea todos los directorios especificados en la ruta del objeto File, aunque no existan| |boolean mkdirs()|Crea todos los directorios especificados en la ruta del objeto File, aunque no existan|
-|boolean renameTo(File dest)|Renombra el fichero|+|boolean renameTo(File dest)|Renombra el fichero, true si se ha podido|
 |String[] list()|Devuelve un array con los nombres de los archivos o directorios que contiene el directorio asociado al objeto File. null si no es un directorio| |String[] list()|Devuelve un array con los nombres de los archivos o directorios que contiene el directorio asociado al objeto File. null si no es un directorio|
  
Línea 51: Línea 53:
 El nombre del fichero puede estar compuesto simplemente por una ruta relativa o por una ruta absoluta. **Siempre que indiquemos solo un el nombre del fichero, se parte del directorio base del proyecto**. El nombre del fichero puede estar compuesto simplemente por una ruta relativa o por una ruta absoluta. **Siempre que indiquemos solo un el nombre del fichero, se parte del directorio base del proyecto**.
  
-Para los siguientes ejemplos tengo un proyecto en Eclipse llamado "EjemploFicheros".+Para los siguientes ejemplos __tengo un proyecto en Eclipse llamado "EjemploFicheros":__
 <code java> <code java>
 +//La carpeta del proyecto es EjemploFichero; contiene los directorios src, bin, etc
 //Ruta relativa a la carpeta de mi proyecto: "EjemploFicheros/fichero.txt" //Ruta relativa a la carpeta de mi proyecto: "EjemploFicheros/fichero.txt"
 File fichero1 = new File("fichero.txt"); File fichero1 = new File("fichero.txt");
Línea 92: Línea 95:
 === Añadir texto a un fichero existente === === Añadir texto a un fichero existente ===
 Siempre que escribamos en un fichero que ya existe, el fichero se sobrescribirá. Siempre que escribamos en un fichero que ya existe, el fichero se sobrescribirá.
-PrintWriter no tiene control sobre esto, pero si la clase de la que hereda ''FileWriter''. En este caso **debemos crear un PrintWriter a partir de un FileWriter**.+PrintWriter no tiene control sobre esto, pero si la clase de la que hereda''FileWriter''. En este caso **debemos crear un PrintWriter a partir de un FileWriter**.
  
 Para añadir texto a un fichero en lugar de sobrescribirlo, indicaremos un segundo parámetro al constructor de FileWriter: Para añadir texto a un fichero en lugar de sobrescribirlo, indicaremos un segundo parámetro al constructor de FileWriter:
Línea 139: Línea 142:
  
 El control de excepciones se puede hacer de muchas formas, pero hay algo que debemos intentar hacer siempre:  El control de excepciones se puede hacer de muchas formas, pero hay algo que debemos intentar hacer siempre: 
- 
 **asegurarnos de cerrar los recursos que puedan estar abiertos**. **asegurarnos de cerrar los recursos que puedan estar abiertos**.
  
-Para ello podemos usar la sentencia ''finally'' del bloque ''try-catch'':+Para ello podemos usar la sentencia opcional ''finally'' del bloque ''try-catch'':
  
 <code java> <code java>
Línea 204: Línea 206:
 </code> </code>
  
 +----
  
 +{{ vimeo>313988435?medium }}
  
 ---- ----
  
 (c) {{date> %Y}} Fernando Valdeón (c) {{date> %Y}} Fernando Valdeón
bloque3/ficheros.1548429431.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)