Ruta absoluta de un archivo JAR

Amigos eh buscado mucho en internet la manera de saber en tiempo de ejecución la ruta del archivo. JAR y no eh encontrado algo que en realidad me funcione, pues verán tengo un librería de SQLite3, y cuando estoy accediendo a ella por medio de el depurador de Netbeans se ejecuta normalmente para ello utilizo:
File ruta=new File("basededatos. Slite");
Class. ForName("org.sqlite.JDBC");
miCon = DriverManager. GetConnection("jdbc:sqlite:"+ruta. GetAbsolutePath());
Siendo esta la ruta: D:\largo\controlfactura\basededatos.slite
Pero cuando compilo el archivo me da otra ruta: c:\Users\usuario\basededatos.slite
El objetivo es que donde quiera que estén los archivos sepa donde es la ruta real.

1 Respuesta

Respuesta
1
tu consulta es facil de resolver ya que solo tienes una omision de lo que hace el constructor de file, al solo mandarle un archivo.extension te crea en la carpeta por defecto del usuario, si le pusieras =new File ("prueba.txt") se te crearia en la carpeta del usuario xq asi esta por defecto el java, solo debes cambiarle el "basededatos.slite" por la ruta completa.
El método GetAbsolutePath() devuelve la ruta completa de donde tu has guardado el archivo, nada más, si tu le has puesto D:/prueba.txt te va a vevolver D:/prueba.txt, nada más, es un simple getter que te devuelve el valor ingresado.
Si quieres saber la ruta real de un archivo tu mismo la vas a ingresar, y tu mismo la vas a recuperar a menos que uses arboles y hagas un árbol eneario con las rutas de todos los archivos, cosa que es muy trabajoso.
Así que si quieres que te galta esta ruta
D:\largo\controlfactura\basededatos.slite como respuesta al metodo GetAbsolutePath
vas a tener que poner ... =new File (" D:\largo\controlfactura\basededatos.slite")
No queda de otra mi hermano, espeor haberte ayudado, si tienes más preguntas no dudes en hacérmelas saber, por le contrario no olvides por favor cerrar la pregunta y darle una calificación a la misma. Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas