bloque3: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 | ||
| bloque3:ficheros [04/01/2019 13:13] – editor externo 127.0.0.1 | bloque3: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 '' | La mayoría de las clases para manejo de ficheros están en el paquete '' | ||
| - | **La mayoría | + | **Algunos métodos |
| ===== Clase File ===== | ===== Clase File ===== | ||
| La clase [[https:// | La clase [[https:// | ||
| - | **Un objeto File es solamente una asociación a un fichero en el sistema; | + | **Un objeto File es solamente una asociación a un fichero |
| ==== Uso de la clase File ==== | ==== Uso de la clase File ==== | ||
| Para crear una instancia de File indicamos el nombre del fichero mediante un String: | Para crear una instancia de File indicamos el nombre del fichero mediante un String: | ||
| '' | '' | ||
| - | |||
| - | El nombre del fichero puede estar compuesta simplemente por su nombre (ruta relativa) o por una ruta absoluta. **Siempre que indiquemos solo un nombre, se parte del directorio base del proyecto**. | ||
| **Métodos: | **Métodos: | ||
| Línea 26: | 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 31: | 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 49: | Línea 49: | ||
| </ | </ | ||
| - | ===== Clase PrintWriter ===== | + | |
| + | ==== Ruta de un fichero | ||
| + | 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 " | ||
| + | <code java> | ||
| + | //La carpeta del proyecto es EjemploFichero; | ||
| + | //Ruta relativa a la carpeta de mi proyecto: " | ||
| + | File fichero1 = new File(" | ||
| + | |||
| + | //Ruta relativa a la carpeta de mi proyecto: " | ||
| + | File fichero1 = new File(" | ||
| + | |||
| + | //Ruta absoluta dentro de mi sistema operativo: " | ||
| + | File fichero1 = new File(" | ||
| + | |||
| + | </ | ||
| + | ===== Escribir texto con PrintWriter ===== | ||
| La clase PrintWriter es una de las más fáciles de usar a la hora de escribir texto en un fichero. | La clase PrintWriter es una de las más fáciles de usar a la hora de escribir texto en un fichero. | ||
| Usa los mismo métodos con los que escribimos por pantalla con '' | Usa los mismo métodos con los que escribimos por pantalla con '' | ||
| Línea 78: | 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 '' | + | PrintWriter no tiene control sobre esto, pero si la clase de la que hereda: '' |
| Para añadir texto a un fichero en lugar de sobrescribirlo, | Para añadir texto a un fichero en lugar de sobrescribirlo, | ||
| Línea 92: | Línea 109: | ||
| PrintWriter escritor = new PrintWriter(filewriter); | PrintWriter escritor = new PrintWriter(filewriter); | ||
| </ | </ | ||
| - | ===== Leer con Scanner ===== | + | |
| + | ===== Leer texto con Scanner ===== | ||
| La clase Scanner permite leer desde distintos flujos de entrada. Habitualmente hemos usado el flujo estándar '' | La clase Scanner permite leer desde distintos flujos de entrada. Habitualmente hemos usado el flujo estándar '' | ||
| Línea 124: | 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 '' | + | Para ello podemos usar la sentencia |
| <code java> | <code java> | ||
| Línea 189: | Línea 206: | ||
| </ | </ | ||
| + | ---- | ||
| + | {{ vimeo> | ||
| ---- | ---- | ||
| (c) {{date> %Y}} Fernando Valdeón | (c) {{date> %Y}} Fernando Valdeón | ||
bloque3/ficheros.1546607617.txt.gz · Última modificación: 16/09/2024 20:53 (editor externo)
