SoloCodigo

Programación General => Java => Mensaje iniciado por: jhumpa en Lunes 18 de Diciembre de 2006, 21:03

Título: Mostrar Ruta De Archivo
Publicado por: jhumpa en Lunes 18 de Diciembre de 2006, 21:03
Hola a todo el foro; quisiera saber como obtener la ruta de un archivo, que en mi caso lo he puesto en un paquete de mi programa.
He estado averiguando y puse el siguiente codigo:
Citar
   import java.net.*;//Para extraer la clase URL

    URL ruta=this.getClass().getResource("/Conecta/basedato.mdb");
    String archivo=ruta+"";

Pero no me sale examente la ruta; sino que al verificar por consola me sale algo cercano:
Citar
file:/C:/Documents%20and%20Settings/jhumpa/Escritorio/pgrh/programa/build/classes/Conecta/basedato.mdb

LO QUE HUBIERA QUERIDO QUE SALGA ES:
Citar
C:/Documents%20and%20Settings/jhumpa/Escritorio/pgrh/programa/build/classes/Conecta/basedato.mdb

Gracias de antemano.
Salu2.
Título: Re: Mostrar Ruta De Archivo
Publicado por: Misuvija en Martes 19 de Diciembre de 2006, 20:35
Hola, pues lo más práctico y rápido es hacer un replace de la cadena "file:/", en el string original,

hice este método de replace, úsalo si quieres, te dará el resultado que esperas!  :hola:


 public static String Replace(String psWord,
                               String psReplace,
                               String psNewSeg) {

    StringBuffer lsNewStr = new StringBuffer();
    int liFound = 0;
    int liLastPointer = 0;
    do {
      liFound = psWord.indexOf(psReplace, liLastPointer);
      if (liFound < 0) {
        lsNewStr.append(psWord.substring(liLastPointer, psWord.length()));
      }
      else {
        if (liFound > liLastPointer) {
          lsNewStr.append(psWord.substring(liLastPointer, liFound));
        }
        lsNewStr.append(psNewSeg);
        liLastPointer = liFound + psReplace.length();
      }
    }
    while (liFound > -1);
    return lsNewStr.toString();
  }


Según tu ejemplo pones:

URL ruta=this.getClass().getResource("/Conecta/basedato.mdb");
    String archivo= Replace(ruta, "file:/", "");

Y listo!  :D  Un saludo.
Título: Re: Mostrar Ruta De Archivo
Publicado por: silverfox en Jueves 21 de Diciembre de 2006, 10:39
Hola...


URL tiene un método getFile...


De todas formas, 'file:/ ' es el estándar de representación de recursos, es como http:// y similares.

Si te molesta para abrir el fichero con un FileInputStream, deberías plantearte usar getResourceAsStream, que te devuelve directamente un InputStream.


Espero que te sirva.


Un saludo.





Silverfox