O path da minha aplicação ajuda

eu ja tive a procura do path da minha aplicação porque se eu intalar a minha aplicação no menu iniciar ela não corre com a funcção system.getproperty(user.dir) o codigo que me devolve o path é este

[code]private String Getwd() {
String applicationDir = getClass().getProtectionDomain().getCodeSource().getLocation().getPath();

    if (applicationDir.endsWith(".jar")) {
        applicationDir = new File(applicationDir).getParent();
    } else {
        // Add the path to the class files
        applicationDir += getClass().getName().replace('.', '/');

        // Step one level up as we are only interested in the
        // directory containing the class files
        applicationDir = new File(applicationDir).getParent();
    }

    return applicationDir;



}[/code]

agora o problema é que a string devolvida tem isto :
C:\Documents%20and%20Settings\Utilizador\Os%20meus%20documentos\NetBeansProjects\lib\run.BAT

agora porfavor eu preciso retirar aqueles %20 se não o system nao encontra os ficheiros

Não sei exatamente se é isso que você precisa, pois não entendi seu pergunta. Mas se o que você precisa é pegar o diretório que sua aplicação esta rodando você pode fazer isso:

String path = new File("").getAbsolutePath();

a solução que encontrei foi esta

Este código devolve o path correto de onde se encontra a sua aplicação independentemente de onde a esta a correr.

private String Getwd() {
        String applicationDir = getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
        if (applicationDir.endsWith(".jar")) {
            applicationDir = new File(applicationDir).getParent();
        } else {
            // Add the path to the class files
            applicationDir += getClass().getName().replace('.', '/');

            // Step one level up as we are only interested in the
            // directory containing the class files
            applicationDir = new File(applicationDir).getParent();
        }
        String[] temp = applicationDir.split("%20");
        String path="";
        for (int i = 0; i < temp.length; i++) {
            if (i == temp.length - 1) {
                path = path + temp[i];
            } else {
                path = path + temp[i] + " ";
            }

        }
        return path;
    }