En este tutorial vamos a aprender a usar este modulo para llevar a cabo dichas tareas:
Primero tenemos que importar la libreria necesaria:
import java.io.File;
Ahora vamos a ver un ejemplo sencillo,la clase que hace todo el trabajo es File,sus constructores son:
1 2 3 4 5 6 7 | new File(pathname) new File(uri) new File(parent, child) new File(parent, child) |
Nosotros vamos a usar el primero,solo vamos a pasar el nombre de un archivo,por ejemplo vamos a crear uno:
Primero definimos un objeto file:
File archivo = new File("noexiste.txt");
Ahora usamos la función createNewFile(),regularmente podemos usar un comprobador,por ejemplo:
1 2 3 4 5 6 | boolean accion = archivo.createNewFile(); if (accion) System.out.println("Se creo archivo"); else System.out.println("No creo archivo"); |
Para esto necesitamos añadir un tratamiento de excepción IOException a la función que usa esta función:
1 2 3 4 5 6 | public static void main(String[] args) throws IOException { File archivo = new File("noexiste.txt"); boolean accion = archivo.createNewFile(); if (accion) System.out.println("Se creo"); } |
Ahora ya teniendo el archivo creado vamos a usar algunas mas para manipularlo:
Para saber si un archivo existe,usamos la funcion exists() que devuelve un boolean true si existe y false si no existe,por ejemplo crear un archivo si no existe:
1 2 3 4 5 | if (!archivo.exists()) { boolean accion = archivo.createNewFile(); if (accion) System.out.println("Se creo"); } |
Vamos a ver como se pueden ver los permisos de archivo,los cuales son leectura,escritura y ejecucion,como lo hemos visto en Unix,las funciones devuelven un boolean basado en su pregunta:
1 2 3 4 5 | canExecute(); // Se puede ejecutar? canRead(); // Se puede leer? canWrite(); // Se puede escribir? |
Esta funcion checa los permisos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | static void permisos (File x) { boolean sepuedeejecutar = x.canExecute(); boolean sepuedeleer = x.canRead(); boolean sepuedeescribir = x.canWrite(); if (sepuedeejecutar) System.out.println("Se puede ejecutar"); else System.out.println("No se puede ejecutar"); if (sepuedeleer) System.out.println("Se puede leer"); else System.out.println("No se puede leer"); if (sepuedeescribir) System.out.println("Se puede escribir"); else System.out.println("No se puede escribir"); } |
Tambien contamos con una funcion para borrar un archivo la cual es delete(),esta devuelve un boolean en true si lo borra y en false si ocurre algo por lo cual no se borro,veamos una funcion que borra un archivo si existe:
1 2 3 4 5 6 7 | if (!archivo.exists()) { boolean accion = archivo.delete(); if (accion) System.out.println("Se borro"); else System.out.println("No se borro"); } |
Ahora veamos el directorio padre del archivo y la ruta completa del archivo:
getAbsoluteFile() // Nos devuelve la ruta absoluta del archivo
getName() // Nos devuelve el nombre del archivo
Tambien contamos con otras funciones para ver si esta oculto el archivo o si es un archivo:
isFile() // Devuelve true si es un archivo
isHidden() // Devuelve true si esta oculto
Ahora vamos a ver lo mismo pero con directorios:
Crear un directorio:
Para crear un directorio se usa mkdir:
archivo.mkdir();
Para saber si existe usamos igualmente exist(),funcion para crear un directorio si no existe:
1 2 3 4 5 | if (!archivo.exists()) { boolean accion = archivo.mkdir(); if (accion) System.out.println("Se creo directorio"); } |
Los permisos son los mismos de arriba menos execute().
canRead(); // Se puede leer?
canWrite(); // Se puede escribir?
Para saber el nombre del directorio podemos usar:
getPath()
o
getName()
Podemos ver los archivos que contiene un directorio iterando sobre lo que devuelve la funcion list(),que es un array de String:
Funcion para listar:
1 2 3 4 5 | static void listar(File x) { String[] archivos = x.list(); for (String a : archivos) System.out.println(a); } |
También podemos usar un filtro(lo veremos en su momento),de momento podemos ver como listar un directorio basado en una extensión:
1 2 3 4 5 6 7 8 9 10 | FilenameFilter filtro = new FilenameFilter() { @Override public boolean accept(File dir, String name) { // TODO Auto-generated method stub String extension = ".txt"; if (name.toLowerCase().endsWith(extension)) return true; return false; } }; |
Y hacemos esto:
String[] archivos = x.list(filtro);
Podemos hacer lo mismo pero en vez de que nos devulva un simple string,nos devuelva un objeto File,con todas las funciones aqui vistas:
listFiles();
Para cambiar el nombre de un archivo tenemos que crear otro objeto File y llamar el método renameTo:
File nuevo = new File("Nuevo nombre");
archivo.renameTo(nuevo);
Eso es todo :D
Mas info : http://docs.oracle.com/javase/6/docs/api/java/io/File.html
No hay comentarios.:
Publicar un comentario
Los comentarios serán revisados antes de ser publicados.