Foro de elhacker.net

Programación => Java => Mensaje iniciado por: juancho77 en 7 Octubre 2009, 05:06 am



Título: Como obtener la ruta de la llamada al programa (java)?
Publicado por: juancho77 en 7 Octubre 2009, 05:06 am
Tengo un java empaquetado en un exe. El archivo ejecutable lo puse en system32 y quiero que cuando llamo desde la consola al programa, el programa mismo reciba la ruta desde donde fue llamado. Si uso "user.dir" me pasa la ubicación del archivo en windows/System32.
La idea general es simular algo como un ls de linux  o un dir de windows.
Un saludo!


Título: Re: Como obtener la ruta de la llamada al programa (java)?
Publicado por: Amerikano|Cls en 7 Octubre 2009, 06:09 am
Tengo un java empaquetado en un exe. El archivo ejecutable lo puse en system32 y quiero que cuando llamo desde la consola al programa, el programa mismo reciba la ruta desde donde fue llamado. Si uso "user.dir" me pasa la ubicación del archivo en windows/System32.
La idea general es simular algo como un ls de linux  o un dir de windows.
Un saludo!

No entiendo muy bien que quieres  :rolleyes:


Título: Re: Como obtener la ruta de la llamada al programa (java)?
Publicado por: Leyer en 7 Octubre 2009, 06:22 am
ni yo pero creo q lo que dices es esto que cuando se ejecute te diga en que lugar fue ejecutado. y los archivos que se encuentran en ese directorio.

import java.io.File;
public class viw {
   public static void main(String[] args) {
      File file = new File(".");
      File file2 = new File(file.getAbsolutePath());
                System.out.println(file.getAbsolutePath());
      File[] list = file2.listFiles();
      for(File index: list){
         System.out.println(index.getName());
      }
   }
}

Saludos.


Título: Re: Como obtener la ruta de la llamada al programa (java)?
Publicado por: juancho77 en 7 Octubre 2009, 15:46 pm
A ver si me explico mejor. Tengo un archivo en java que corre en consola y que lista los archivos de la carpeta en donde se ejecuta. Para que funcione desde cualquier ubicacion lo pongo en windows/system32. Pero cuando lo hago andar, ponele, desde el escritorio, me lista los archivos que estan en system32, no los del escritorio. Mi duda es como puedo hacer para tomar la ruta DESDE DONDE FUE LLAMADO, no desde donde se encuentra fisicamente el archivito.
Un saludo.


Título: Re: Como obtener la ruta de la llamada al programa (java)?
Publicado por: Amerikano|Cls en 7 Octubre 2009, 19:34 pm
A ver si me explico mejor. Tengo un archivo en java que corre en consola y que lista los archivos de la carpeta en donde se ejecuta. Para que funcione desde cualquier ubicacion lo pongo en windows/system32. Pero cuando lo hago andar, ponele, desde el escritorio, me lista los archivos que estan en system32, no los del escritorio. Mi duda es como puedo hacer para tomar la ruta DESDE DONDE FUE LLAMADO, no desde donde se encuentra fisicamente el archivito.
Un saludo.

Porque no le envias la ruta como argumento del main()?


Título: Re: Como obtener la ruta de la llamada al programa (java)?
Publicado por: juancho77 en 8 Octubre 2009, 04:20 am
Cuando vas a la consola y ejecutas un dir o un ls no le pasas el argumento!
No tendria sentido navegar hasta una ubicación para listar los archivos y luego tener que enviarle esa ubicación :silbar:


Título: Re: Como obtener la ruta de la llamada al programa (java)?
Publicado por: Amerikano|Cls en 8 Octubre 2009, 17:38 pm
Ahi si no se me ocurre como  :-\