SoloCodigo
Programación General => Java => Mensaje iniciado 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:
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:
file:/C:/Documents%20and%20Settings/jhumpa/Escritorio/pgrh/programa/build/classes/Conecta/basedato.mdb
LO QUE HUBIERA QUERIDO QUE SALGA ES:
C:/Documents%20and%20Settings/jhumpa/Escritorio/pgrh/programa/build/classes/Conecta/basedato.mdb
Gracias de antemano.
Salu2.
-
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.
-
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