Obtener la ruta absoluta de un fichero con Java

07/Ene/2012 Java , 15 Comentarios

Si queremos saber dónde se encuentra un fichero ubicado en el disco duro deberemos de obtener la ruta absoluta del fichero. Para poder llevar a cabo esto nos vamos a basar en los métodos de la clase File de Java.

Lo primero será instanciar la clase File con el fichero del que queremos obtener la ruta absoluta.

  1. File fichero = new File("test.txt");

Ahora simplemente deberemos de apoyarnos en el método .getAbsolutePath() para obtener la ruta absoluta. La línea de código será la siguiente:

  1. System.out.println("La ruta del fichero es: " + fichero.getAbsolutePath());

Como vemos, en un simple método tenemos la ruta absoluta de un fichero con Java.

15 comentarios en “Obtener la ruta absoluta de un fichero con Java”

Víctor Cuervo

Víctor Cuervo

@Andre, me alegro que se haya solucionado y que te gusten nuestros ejemplos. 😀

Víctor Cuervo

Andre

@Victor,

Gracias por tu respuesta, justo la semana pasada logre dar con esa misma solucion y habia olvidado postear, igual gracias porque estan muy buenos los ejemplos…

Saludos 🙂

Víctor Cuervo

Víctor Cuervo

@Andre,

En http://lineadecodigo.com/java/listar-un-directorio-con-java/ tienes como listar los ficheros de un directorio. Ya solo te queda comparar el String del nombre del fichero con “File” para sacarlo o no.

Espero que esto te pueda ayudar.

Saludos.

Víctor Cuervo

Andre

Buen día, necesito una ayuda urgente. Tengo un archivo cuyo nombre esta compuesto por la fecha y hora de creacion, ejemplo: File20121105113600 en un directorio, en el mismo directorio voy a tener n archivos creados con esa caracteristica File+FechayHora lo que necesito hacer es leer todos los que comiencen con File indiferentemente de lo que venga despues, habra alguna forma de hacerlo??

Gracias!!

Víctor Cuervo

Víctor Cuervo

@cleyber,
Nos alegra mucho que os sirviera estos ejemplos.

Víctor Cuervo

cleyber

Mil gracias estaba buscando algo parecido y me sirvio mucho estos ejemplos

Víctor Cuervo

Víctor Cuervo

@Jonathan,

Pon por aquí el código, o en nuestro foro (http://www.dudasprogramacion.com/forum/java-io) Si puedes mejor en el segundo, para que le sirva a más gente.

Y así vemos dónde puede estar el problema. 🙂

Víctor Cuervo

Jonatan

Leerlo jeje, simplemente eso. Cuando lo meto dentro de un BufferedReader para luego hacerle un readLine(), sale por el catch.

Víctor Cuervo

Víctor Cuervo

Si te devuelve el path ya habría creado el objeto File y deberías de poder hacer cosas con él. ¿Qué estás intentando hacer con el File?

Puedes copiar por aquí el código.

Víctor Cuervo

Jonatan

Si, yo pongo el archivo en el escritorio o dentro de workspace y el metodo .getAbsolutePath()
me devuelve la ruta del archivo. Pero aun asi, new File(“test.txt”); me devuelve null, no logra crear el objeto File. Solo lo logro hacer cuando pongo la ruta hardcodeada como parametro del File.
Al parecer, hay algo que no estoy logrando entender…
Gracias por tu explicacion.

Víctor Cuervo

Víctor Cuervo

@Jonathan,

Realmente el código tiene un “pequeño truco” y es que el fichero que instanciamos en File está en el directorio de trabajo dónde estemos ejecutando la máquina virtual java. Con lo cual ya estará en un directorio, el cual obtenemos con el .getAbsolutePath()

Por lo cual nunca habrá dos ficheros iguales en un directorio.

Con respecto a lo que comentas de los Path es correcto. Si trabajas con Servlet nunca manejes rutas absolutas (recuerda que esto es código para aprender). En los Servlet utiliza Path como indicas.

Saludos.

Víctor Cuervo

Jonatan

Yo tengo unas preguntas.
Y si cambio de lugar un archivo, java siempre lo encuentra?
Que pasa si tengo 2 archivos con el mismo nombre en distintos lugares
de mi PC?
Cuando tuve que hacer algo de servlet, me enseñaron que
para no tener que hardcodear una ruta especifica de un archivo, con los metodos
requestContext().getRealPath(); de la clase ServletConfig
(o por ahí andaba, no recuerdo bien) podias setear una ruta
dinamica para encontrar el archivo q buscamos.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*