Manejo de archivos en Java


A continuación se presenta una guía rápida sobre como manejar archivos en Java de forma simple y con algunos ejemplos prácticos. Las clases necesarias para manejar archivos en Java se encuentran en el paquete java.io.

Creación de un nuevo archivo

Para crear un archivo nuevo en Java utilizaremos la clase File, veamos los puntos importantes a recordar y el ejemplo de código:

  • El hecho de crear un objeto de esta clase no creará el archivo en el disco
  • Se puede utilizar la clase file para crear un archivo o un directorio
  • El método exists() devuelve un valor boolean que es verdadero si el archivo ya existe en el equipo y falso si no.
  • El método createNewFile() creará el archivo en el disco duro.
  • El método createNewFile() puede provocar una IOException así que debe ser manejada
File f = new File("file.txt");
if (!f.exists()) {
	f.createNewFile();
}

Listar archivos en un directorio

Veamos los puntos importantes a recordar y el ejemplo de código:

  • El constructor de la clase File recibe como parámetro un directorio, en este caso el directorio que utilizaremos es el raíz.
  • El método listFiles() devuelve un arreglo de objetos de la clase File cada uno representa un archivo contenido en el directorio.
File f = new File("/");
File[] listFiles = f.listFiles();
for (File file : listFiles) {
	System.out.println(file);
}

Principales métodos

Los métodos principales de la clase File son los siguientes:

  • createNewFile(): Crea un nuevo archivo en disco
  • delete(): Borra un archivo
  • exists(): Devuelve verdadero o falso dependiendo si el archivo existe o no
  • isDirectory(): Devuelve verdadero o falso dependiendo si es un directorio o no
  • isFile(): Devuelve verdadero o falso dependiendo si es un archivo o no
  • list(): Lista todos los archivos contenidos en el directorio
  • mkdir(): Crear un nuevo directorio
  • renameTo() : Re nombra un archivo

Ejemplo práctico

Para ejemplificar como funcionan los archivos programaremos el comando tree, el cuál lista todos los archivos y directorios del sistema operativo.


import java.io.File;
import java.io.IOException;

/**
 * @author raidentrance
 *
 */
public class TreeCommand {
	public static void printFile(File f, String spaces) {
		System.out.println(spaces.concat(f.getName()));
		if (f.isDirectory() && f.canRead()) {
			for (File file : f.listFiles()) {
				if (file.isDirectory()) {
					printFile(file, spaces.concat("-"));
				}
			}
		}

	}

	public static void main(String[] args) throws IOException {
		printFile(new File("/Users/raidentrance/Documents/Github"), "");
	}
}

Si deseas ver una explicación detallada del ejemplo que se presentó te recomendamos leer el post Aprende a utilizar la recursividad programando el comando tree.

Autor: Alejandro Agapito Bautista

Twitter: @raidentrance

Contacto:raidentrance@gmail.com

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s