14.2 CLASE FILE II

 

Hola a todos! en este post vamos a ver cómo crear nuevos ficheros, nuevos directorios, como escribir en esos ficheros, incluir ficheros en esos directorios y eliminar archivos y directorios.

Antes de continuar he de mencionar un aspecto importante sobre las rutas en el post anterior hemos estado manejando una ruta absoluta como la siguiente:

File ruta = new File("C:/Users/usuario/Desktop/Interfaces");

Al ser Java multiplataforma dependiendo del sistema operativo que estemos utilizando la barra separadora que utilizamos en las rutas es de una forma o de otra (barra invertida a la izquierda o barra invertida a la derecha). En la ruta que se indica dentro del constructor de la clase File seguramente funcione en sistemas operativos Windows en cambio para sistemas Linux no funcione correctamente. Para interpretar las rutas por cualquier sistema operativo en lugar de utilizar la barra (/) se ha de recurrir a un campo de la clase File separator, es un campo estático devuelve un dato de tipo String se utilizaría de la siguiente forma:

File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces");

Pues visto esto pasamos ya a ver el tema de este post para ello nos creamos una nueva clase a la que vamos a llamar Creando importamos el paquete java.io:

package ficheros_directorios;

 

import java.io.*;

 

public class Creando {

 

      public static void main(String[] args) {

 

      }

 

}

Vamos a crear un nuevo directorio en la carpeta Interfaces con la que hemos estado trabajando en el apartado anterior. Instanciamos la clase File indicando la ruta donde está la carpeta Interfaces como la hemos indicado anteriormente con el campo separator:

package ficheros_directorios;

 

import java.io.*;

 

public class Creando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces");

           

      }

 

}

Para crear un nuevo directorio utilizamos el método mkdir() se recomienda ir a la API de Java para conocer más sobre este método. Nos vamos al final de la ruta y le indicamos el nombre del directorio que vamos a crear:

File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"nueva_carpeta");

Agregamos la carpeta:

package ficheros_directorios;

 

import java.io.*;

 

public class Creando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"nueva_carpeta");

           

            ruta.mkdir();

 

      }

 

}

Si ejecutamos la aplicación vemos que se nos ha creado la carpeta:



Para crear un nuevo fichero hemos de indicar al final de la ruta el nombre del fichero y utilizamos el método createNewFile():

package ficheros_directorios;

 

import java.io.*;

 

public class Creando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"nuevo_fichero.txt");

           

            //ruta.mkdir();

           

            ruta.createNewFile();

 

      }

 

}

Sin embargo, el método nos da error porque devuelve una excepción de tipo IOException por lo que hay que incluirlo dentro de un try… catch:

package ficheros_directorios;

 

import java.io.*;

 

public class Creando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"nuevo_fichero.txt");

           

            //ruta.mkdir();

           

            try {

                  ruta.createNewFile();

            } catch (IOException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

            }

 

      }

 

}

Ejecutamos y vemos que se nos ha creado el fichero:



Vamos a ver cómo escribir en el nuevo fichero creado. Después del catch vamos a instanciar una clase Escribiendo que posteriormente la crearemos esta instancia va a acceder a un método escribir y este método va a recibir como parámetro al que vamos a llamar archivo_destino:

package ficheros_directorios;

 

import java.io.*;

 

public class Creando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"nuevo_fichero.txt");

           

            //ruta.mkdir();

           

            try {

                  ruta.createNewFile();

            } catch (IOException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

            }

           

            Escribiendo acceso = new Escribiendo();

           

            acceso.escribir(archivo_destino);

 

      }

 

}

Lo que le pasamos como parámetro va a ser la ruta a la carpeta donde quiero crear el nuevo archivo esta ruta esta almacenada en la instancia ruta por lo que a continuación de la instancia File creamos una variable de tipo String a la que llamamos archivo_destino:

String archivo_destino =ruta.getAbsolutePath();

Con esto hemos almacenado en esta variable la ruta que contiene la instancia de la clase File.

Nos creamos la nueva clase Escribiendo:

class Escribiendo {

     

     

}

Dentro de esta clase nos creamos el método escribir() que va a recibir un parámetro de tipo String:

class Escribiendo {

     

      public void escribir(String ruta_archivo) {

           

      }

           

}

Dentro del método creamos una variable de tipo String a la que almacenamos una frase, creamos un bloque try.. catch dentro del try instanciamos la clase FileWriter con la que ya hemos trabajado en bloques anteriores y le pasamos como parámetro ruta_archivo mediante un for recorremos la variable que contiene la frase, después del for cerramos el String que le indicamos en FileWriter:

class Escribiendo {

     

      public void escribir(String ruta_archivo) {

           

            String frase= "Aprendiendo a programar en Java";

           

            try {

                  FileWriter escritura = new FileWriter(ruta_archivo);

                 

                  for(int i=0; i<frase.length(); i++) {

                       

                        escritura.write(frase.charAt(i));

                  }

                 

                  escritura.close();

            } catch (IOException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

            }

           

      }

           

}

Importante! En la siguiente ruta indicamos el nombre del archivo nuevo:

File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"fichero_pruebas.txt");

Probamos, vemos que nos ha creado el archivo:



Si lo abrimos:



Vemos el contenido que contiene la variable frase.

Para finalizar vamos a ver como se elimina este archivo fichero_pruebas nos creamos una nueva clase a la que vamos a llamar Eliminando:

package ficheros_directorios;

 

import java.io.*;

 

public class Eliminando {

 

      public static void main(String[] args) {

 

      }

 

}

Instanciamos la clase File con la ruta y al final le indicamos el archivo que queremos eliminar:

package ficheros_directorios;

 

import java.io.*;

 

public class Eliminando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"fichero_pruebas.txt");

 

      }

 

}

Utilizamos el método delete():

package ficheros_directorios;

 

import java.io.*;

 

public class Eliminando {

 

      public static void main(String[] args) {

           

            File ruta = new File("C:" + File.separator + "Users" + File.separator + "usuario" + File.separator + "Desktop" + File.separator + "Interfaces" + File.separator +"fichero_pruebas.txt");

           

            ruta.delete();

 

      }

 

}

Probamos:



Vemos que el archivo ya no está dentro de la carpeta Interfaces.

Y hasta aquí el bloque de Manipulación de archivos y directorios, como siempre agradeceros que sigáis mi blog, podéis hacerme llegar vuestras dudas a través de los comentarios del blog o mandándome un correo a amizba@gmail.com. Hasta pronto!

14.1 CLASEFILE I << >> 15.1 ARRAYLIST I



No hay comentarios:

Publicar un comentario