sistemas operativos

Páginas: 5 (1142 palabras) Publicado: 8 de diciembre de 2014
Manipulando Ficheros en Java 7 (I)
 POR ANTONIO2 NOVIEMBRE, 2011 - 00:00JAVA, PROGRAMACIÓN
6FLARES Facebook 3Twitter 1LinkedIn 0inShareGoogle+ 2
Reddit 0Buffer 0Email--Email to a friend
Una de las mejoras que incluye la última versión de Java tiene que ver con el manejo de ficheros. Anteriormente se utilizaba la clase java.io.File para el manejo de archivos, la nueva versión de la JDK nospermite utilizar la clase java.nio.file.Path para manipular las rutas fichero en cualquier sistema de ficheros. Para poder utilizarla en varias implementaciones del sistema de ficheros, esta nueva API se basa en fábricas. De esta manera no nos tenemos que preocupar por la implementación real.En versiones inferiores a la JDK7 un fichero se podía crear así:
Java

1
2
3
4
5
6
7
File file =new File("c:newfile.txt");
 
if (file.createNewFile()){
    System.out.println("Fichero creado correctamente");
} else {
    System.out.println("El fichero ya existe);
}
y con la nueva versión quedaría así:
Java

1
2
Path ruta = Paths.get("c:newfile.txt");
Path file = Files.createFile(ruta);
Clase PATH
La clase Path es una representación de una ruta en el sistema de archivos. Elobjeto contiene el nombre del archivo y la lista de directorio utilizado para construir la ruta, y se utiliza para examinar, buscar y manipular archivos. Con la clase Path podemos obtener una gran cantidad de información sobre la ruta. Un pequeño ejemplo para obtener los atributos básicos de una ruta:
Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Path path =Paths.get("C:UsersDocumentsfichero.txt");
 
//Devuelve la ruta completa del fichero: C:homejoefoo
System.out.format("toString: %s%n", path.toString());
//Devuelve el nombre del fichero: foo
System.out.format("getFileName: %s%n", path.getFileName());
//Devuelve el elemento correspondiente a la posición de la ruta: Users
System.out.format("getName(0): %s%n", path.getName(0));
//Devuelve el numero de elementosdel Path: 3
System.out.format("getNameCount: %d%n", path.getNameCount());
//Devuelve una secuencia de la ruta: UsersDocuments
System.out.format("subpath(0,2): %s%n", path.subpath(0,2));
//Devuelve el directorio padre: UsersDocuments
System.out.format("getParent: %s%n", path.getParent());
//Devuelve el elemento raíz: C:
System.out.format("getRoot: %s%n", path.getRoot());
Muchossistemas de ficheros utilizan el “.” para referirse al directorio actual y utilizan “..” para referirse al directorio padre. Esto puedo producir redundancias dentro de la clase Path, algunas situaciones que se podrían presentar serian:

1
2
/home/./joe/foo
/home/sally/../joe/foo
Para resolver estas redundancias la clase Path nos proporciona el método normalize().El cual nos resuelve lasredundancias producidas en estos casos devolviendonos la ruta final, en este caso sería:

1
2
/home/joe/foo
/home/joe/foo
En ocasiones necesitamos obtener la dirección del fichero o directorio que estamos tratando. Para ello tenemos tres métodos:
toUri: devuelve un string que puede ser abierto por un navegador.

1
2
3
Path path = Paths.get("/home/logfile");
// Dcuelce:///home/logfileSystem.out.format("%s%n", path.toUri());
toAbsolutePath: devuelve la ruta absoluta del fichero.

1
2
3
4
5
// Convierte un array de strings en un path
Path inputPath = Paths.get(args[0]);
 
// Convierte inputPath a un Path absoluto.
Path fullPath = inputPath.toAbsolutePath();
toRealPath: devuelve la ruta real de un fichero existente. Este método devuelve distintos valores según los datos quese le pasan:
Si le pasamos el valor true y el sistema de ficheros soporta links simbólicos, devuelve un link simbólico.
Si le pasamos una ruta relativa, devuelve la ruta absoluta del fichero.
Si la ruta contiene alguna redundancia, el método devuelve la ruta eliminando la redundancia.

1
2
3
4
5
6
7
try {
    Path file = path.toRealPath(true);
} catch (NoSuchFileException x) {...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sistema Operativo Y Tipos De Sistemas Operativos
  • Atomicidad de operaciones
  • operaciones basicas del sistema operativo
  • Sistemas Operativos
  • Sistema operativo
  • Sistema operativo
  • Sistemas operativos
  • Sistema Operativo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS