• Martes 14 de Mayo de 2024, 05:28

Autor Tema:  Mostrar Ruta De Archivo  (Leído 1287 veces)

jhumpa

  • Miembro activo
  • **
  • Mensajes: 37
    • Ver Perfil
Mostrar Ruta De Archivo
« en: Lunes 18 de Diciembre de 2006, 21:03 »
0
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.

Misuvija

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: Mostrar Ruta De Archivo
« Respuesta #1 en: Martes 19 de Diciembre de 2006, 20:35 »
0
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.
Any

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: Mostrar Ruta De Archivo
« Respuesta #2 en: Jueves 21 de Diciembre de 2006, 10:39 »
0
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