iberck
4/19/2016 - 4:37 AM

Archivos en java

Archivos en java

Archivos en java

En el mundo de la informática un path se refiere a un archivo o a un directorio.

la clase java.io.File representa un archivo o un directorio, y desde el mismo se pueden representar archivos relativos y absolutos.

Separadores de archivos

Internamente java.io.File utiliza separadores de archivos dependientes de la plataforma. Note en el siguiente ejemplo que no importa la forma en la que se envíen los slashes, java.io.File los transforma a slashes dependientes de la plataforma:

File file = new File("C:/Apache2/htdocs");
File file = new File("C:/Apache2/htdocs/");
File file = new File("C:\\Apache2\\htdocs");
File file = new File("C:\\Apache2\\htdocs\\");
File file = new File("C:\\////Apache2//\\htdocs\\//");

En windows todos los ejemplos anteriores dan la salida:

C:\Apache2\htdocs

Por lo tanto por facilidad se recomienda siempre utilizar el separador / como separador de archivos en vez de File.separator para hacer más simple el código.

Unir archivos y directorios

No hay una convensión para unir directorios y archivos, algunos agregan un slash al final de los directorios (trailing slash) para no estar repitiendo el slash cuando unen con los archivos. Sin embargo en java cuando se construye un java.io.File, quita el slash al final del directorio (si lo tuviera). Por lo tanto siguiendo esa nomenclatura lo correcto es no manejar "/" al final de los archivos/directorios porque al convertirlo a java.io.File lo quitará y se prestará a confusiones en el código.

Otra forma de unir un directorio con un archivo:

File sounds = new File(assets, "sounds");

Paths

Es el remplazo para java.io.File desde java 7. Path y Paths es la manera de representar un path. La clase Files define las operaciones sobre los Path.