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