Pegar nome do usuasrio do windows [RESOLVIDO]

ola pessoal, uso o seguinte metodo para pegar o nome do usuario: System.getProperty(“user.dir”)

porem só consigo quando o arquivo .jar está na area de trabalho ou em alguma pasta que contenha no caminho a pasta USERS e o noem do usuario (como no Desktop tem)

porem se eu coloco o aruqivo .jar dentro do c:/ ele nao retorna o nome do usuario pois o mesmo nao esta no caminho do diretorio. Alguem sabe de que outra forma posso buscar o nome do usuario do sistema??
Grato

Ele só vai ter esse comportamento inesperado se estiver rodando sob outro usuário.

Qual é o nome do usuário que ele reporta se você rodar o .jar em outro diretório?

ee me retorno somente c:/ e nada mais se o .jar estiver no c:

Mas o nome do usuário logado não é obtido com “user.dir” e sim com “user.name” :slight_smile:
Se quiser, execute o seguinte programa:

import java.util.*;

class TesteGetProperties {
    public static void main (String[] args) {
        for (Map.Entry<Object, Object> entry : System.getProperties().entrySet()) {
            System.out.println (entry.getKey() + "="+ entry.getValue());
        }
    }
}

Ele lista cada uma das Properties.

valeu amigo, isso mesmo que eu procurava, paramentro “user.name”
com isso sim consigo o nome do usuario nao importa aonde esteja o arquivo .jar, no meu caso o arquvio jnlp que da no mesmo hehehehe
Só valeeeeu

Sempre que vejo um erro desses eu gosto de saber por quê.

Por que é que você usou “user.dir” em vez de “user.name”?

a) Não viu a documentação de System.getProperties (que lista as propriedades principais)
b) Viu um programa com “user.dir” e percebeu que ele retornava algo como “c:\users\juquinha”, então o nome do usuário é “juquinha”
c) Na verdade, você está precisando saber “qual é o diretório home do usuário”, não “o nome do usuário”.
Nesse caso a resposta é outra (veja http://docs.oracle.com/javase/7/docs/api/javax/swing/filechooser/FileSystemView.html#getHomeDirectory() )

Olha eu consegui com user.dir e deu certo, porem por desconfiança coloquei o .jar no c: e nao deu certo!
Entao fui atras e com voce descobri o user.name, porem agora melhorei mais ainda
eu usava o user.dir para pegar a partição C: ou D: pra saber a partição do usuario, e dps usava o user.name pra pega o nome e montava eu mesmo o caminho pra salvar o pdf
porem agora com o user.home eu mato tudo isso, chamo o user.home e ele me tras a partição e o nome do usuario!
aquele velho esquema de tentiva e erro hahahaha nao cheguei a verificar a documentação da classe