elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Consulta ruta relativa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Consulta ruta relativa  (Leído 14,352 veces)
athlit

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Consulta ruta relativa
« en: 21 Mayo 2010, 11:41 am »

Buenos días a todos,
llevo un par de días peleándome con un tema y por más que he mirado en internet no he sabido encontrar nada al respecto.
Lanzó aquí la consulta por si alguien se ha encontrado con esto alguna vez y me pudiera dar alguna idea.

Muchas gracias a todos por adelantado.

Ahí va: (Intentaré ser breve y claro)
Tengo una clase desde la que creo un fichero de texto  (sin ponerle ruta), bien, si ejecuto la clase me crea el fichero de texto en la raiz donde tengo la aplicacion. Hasta aquí, ok.

El problema....
Si desde un JSP, envío unos datos a un servlet, y éste llama a esa clase para que cree el fichero, entonces me lo crea en la ruta donde tengo instalado Eclipse.
Si genero el WAR y lo ejecuto en el Tomcat, el fichero me lo crea en la ruta del tomcat.exe.

Esto me rompe totalmente para trabajar con las rutas. Alguien sabe o se ha encontrado en alguna ocasión con una situación similar??

Yo entiendo que ejecute desde donde lo ejecute, debería crearme el ficherito en la raiz de la aplicacion, o sino, siempre en el mismo sitio.

Muchas gracias a todos.

Un saludo.


En línea

Chuidiang

Desconectado Desconectado

Mensajes: 161



Ver Perfil WWW
Re: Consulta ruta relativa
« Respuesta #1 en: 21 Mayo 2010, 15:28 pm »

Si no pones ruta, el directorio por defecto es el de ejecución de la aplicación. Si lanzas tu aplicación con eclipse, es el raíz de tu proyecto (porque eclipse te lo pone así). Si lanzas un servidor web con eclipse, es el directorio de eclipse. Si despliegas tu war en un Tomcat, el ejecutable es tomcat y el directorio es el del ejecutable de Tomcat.

En cualquier caso, esa ruta siempre puedes saber cual es ejecutando

String rutaDefecto = System.getProperty("user.dir");

Si tu aplicación es una aplicación web, con jsp o servlets y es ahí donde quieres escribir el fichero, lo suyo es que le preguntes al ServletContext cual es el path de la aplicación tuya (normalmente webapps/tu_aplicacion) y escribas en ese path.

Se bueno.


En línea

athlit

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Consulta ruta relativa
« Respuesta #2 en: 21 Mayo 2010, 17:21 pm »

Hola Chuidiang,
en primer lugar muchas gracias por responder.

Desconozco como funciona el ServletContext (se nota que soy nuevo?  :D), pero sabiendo eso ya me peleo para ver cómo puedo hacer lo que me dices. Es justo lo que necesitaba/buscaba.

Te agradezco mucho la ayuda!!
Un saludo!!
En línea

athlit

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Consulta ruta relativa
« Respuesta #3 en: 10 Junio 2010, 14:05 pm »

Hola Chuidiang,
supongo que se verá que soy nuevo en esto...
Sigo con mi tema, no consigo saber la ruta relativa de la aplicacion donde ejecuto los JSP o Servlets.
Si creo un fichero en la raiz desde la app java, me la deberia crear en la raiz de mi aplicacion (entiendo), sin embargo me la crea en la raiz de Eclipse (si ejecuto eclipse) o de Apache (si lo cuelgo en el Tomcat). Bueno, nada nuevo, lo que te comenté... solo que me desespero, jeje.

Importo la clase javax.Servlet.ServletContext, pero no me deja ver sus metodos para intentar rescatar la INFO que quiero y que me comentas en tu post.

¿Que hago mal?

Muchas gracias por adelantado.

Un saludo.
En línea

athlit

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Consulta ruta relativa
« Respuesta #4 en: 10 Junio 2010, 16:33 pm »

Chuidiang.... no me respondas, hoy he conseguido un pasito más.
Quiero mirar de sacarlo del todo ya.

Gracias y disculpa las molestias.

Un saludo!
En línea

josco

Desconectado Desconectado

Mensajes: 199



Ver Perfil
Re: Consulta ruta relativa
« Respuesta #5 en: 10 Junio 2010, 18:05 pm »

yo tengo una clase que te regresa la ruta, donde estas trabajando, por ejemplo si corres el programa desde el ide te regresa la ruta donde se guardara, si ejecutas el jar te regresa la ruta donde esta el jar, asi si mueves el jar puedes usar esta clase para que te de la ruta donde esta el jar y al momento de guardar el fichero de texto le pones la ruta que te regresa esta clase y siempre se guardara donde tienes el .jar

Código:
import java.io.File;
import java.net.URL;

public class WorkingDirectory {

    private static File WORKING_DIRECTORY;

    public static File get() {
        if(WORKING_DIRECTORY == null) {
            try {
                URL url = WorkingDirectory.class.getResource("ejemplo.txt");
                System.out.println(url);
                if(url.getProtocol().equals("file")) {
                    File f = new File(url.toURI());
                    f = f.getParentFile()
                    .getParentFile()
                    .getParentFile();
                    WORKING_DIRECTORY = f;
                } else if(url.getProtocol().equals("jar")) {
                    String expected = "!/util/ejemplo.txt";
                    String s = url.toString();
                    s = s.substring(4);
                    s = s.substring(0, s.length() - expected.length());
                    File f = new File(new URL(s).toURI());
                    f = f.getParentFile();
                    WORKING_DIRECTORY = f;
                }
            } catch(Exception e) {
                WORKING_DIRECTORY = new File(".");
            }
        }
        return WORKING_DIRECTORY;
    }
    public String RutaJar()
    {
       
        return System.getProperty("user.dir"); // regresa la ruta
        System.out.print(System.getProperty("user.dir"));//imprime la ruta
    }




}

al llamar a rutajar te regresara la ruta del jar si lo ejecutas. si lo ejecutas desde el ide te regresa la ruta de la carpeta src
En línea

athlit

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Consulta ruta relativa
« Respuesta #6 en: 11 Junio 2010, 12:28 pm »

Muchas gacias a ambos por vuestra ayuda, me habeis ayudado mucho.
Un saludo!
En línea

infectado

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Consulta ruta relativa
« Respuesta #7 en: 11 Junio 2010, 17:00 pm »

 hola a todos eh soy nuevo me llamo esteban  x fa un favor alguien me puede ayudar a crear una clase en java que me permita hacer operaciones con polinomios xfa  no les pido todo pero si una ayuda soy estudiante ok saludos
En línea

athlit

Desconectado Desconectado

Mensajes: 83



Ver Perfil
Re: Consulta ruta relativa
« Respuesta #8 en: 11 Junio 2010, 18:13 pm »

Hola infectado,
para buscar ayuda, lo ideal sería que crearas un hilo propio. Este hilo es para tratar otro tema diferente.
Desconozco lo que comentas, siento no poder ayudarte.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
script vbs con ruta relativa (SOLUCIONADO)
Scripting
soyloqbuskas 3 10,016 Último mensaje 26 Octubre 2011, 13:37 pm
por soyloqbuskas
Mostrar un contenido mediante ruta relativa
GNU/Linux
lalalalalala 1 3,285 Último mensaje 8 Febrero 2012, 23:07 pm
por dato000
Como hacer la ruta relativa.
Bases de Datos
nolasco281 1 2,499 Último mensaje 17 Diciembre 2014, 18:00 pm
por Hadess_inf
[Python] Definir ruta relativa por defecto
Scripting
MA40 0 2,027 Último mensaje 3 Octubre 2016, 20:05 pm
por MA40
(Consulta) Hacer que una clase java busque los recursos en la ruta que indique
Java
class_OpenGL 2 2,642 Último mensaje 11 Noviembre 2017, 21:57 pm
por class_OpenGL
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines