Estou quebrando a cabeça com um problema, e agradeceria muito se alguem pudesse me ajudar.
É o seguinte:
Preciso pegar o nome da conta do usuário que está logado no computador.
Verifiquei alguns tópicos e tentei utilizar a seguinte instrução: System.getProperty(“user.name”);
Porém ele retorna meu login (usuario.sobrenome, por exemplo), enquanto o nome da minha conta é “Usuário Sobrenome”.
Preciso disso pois gostaria de colocar um diretório padrão no jFileChooser, e por conta disso não estou conseguindo.
Dá um exemplo de onde aparece o nome no Windows. No meu Windows por exemplo não tem nome, só o login. Você deve estar se referindo ao nome que fica na conta da Microsoft na nuvem, que é opcional vincular ao Windows.
L
Lucaaasxd
Mas é que o problema é que o diretório do jFileChooser mostra o seguinte (por exemplo):
C:\Users\Lucas Machado\Desktop
E quando eu pego o login o diretório fica assim:
C:\Users\lucas.machado\Desktop e dessa forma ele não encontra o diretório desejado (nesse caso, a área de trabalho).
javaflex
Isso é o login, sendo que você colocou seu nome e sobrenome com espaço, ai dá confusão. Tente isso: System.getProperty("user.home") + "/Desktop"
Em ultimo caso substitui ponto por espaço, caso com ponto falhar.
L
Lucaaasxd
É que tipo, o sistema está rodando em um servidor, e eu acesso ele remotamente.
Se eu utilizar o System.getProperty(“user.home”), ele irá me retornar esta pasta dentro do servidor.
O que estou tentando fazer é abrir o Desktop do computador do cliente, por isso estou tendo dificuldades.
Tipo: se eu usar o user.home, ele vai abrir a pasta home do cliente dentro da máquina do servidor.
Saberia como me ajudar para colocar o diretório do computador que está acessando o sistema?
javaflex
Nao sei. Se é uma aplicação desktop, deveria rodar local.
L
Lucaaasxd
Ele roda local, mas como está alocada no servidor ele está abrindo as pastas locais do servidor.
Precisaria do diretório que abrisse as pastas do computador que está acessando o servidor.
javaflex
Local quis dizer na máquina do usuário, que é o normal em aplicação desktop. Se é desktop por que nao pode rodar na máquina do usuário?
L
Lucaaasxd
Porque mais usuários acessam ela, de diferentes cidades
A solução que eu encontrei foi colocar em um servidor, e eles acessam o sistema remotamente…
Teria alguma outra recomendação pra usar de outra forma? Pois desse jeito quando o servidor está lento, prejudica um pouco o trabalho no sistema.
Sou novo nisso, então se souber de uma ideia melhor ou uma dica, estou aberto a novos conhecimentos ^^
javaflex
O que está usando pra acessarem a aplicação no servidor?
L
Lucaaasxd
Estou utilizando RDP.
Configurei o servidor para, através de um atalho, acessarem direto a aplicação… só precisa logar no servidor e o sistema é executado.
javaflex
No RDP, vai em “mostrar opcoes”, depois aba “Recursos Locais”, botão “Mais…”. Lá tem como escolher as unidades de disco locais permitidas.
Nao servindo isso, uma saída é você usar Java Web Start.
L
Lucaaasxd
Primeiramente, muito obrigado pela ajuda.
O meu problema é que tipo: aparece o disco C do cliente lá quando eu abro o jFileChooser, porém queria que quando ele abrisse, já caísse direto neste diretório, ou no desktop dele… Para não tem que ir selecionando pasta por pasta até chegar em um diretório do computador dele… entendeu?
Será que teria como fazer isso?
Vi que o diretório que abre é o seguinte: \tsclient\C\Users\lucas.machado\Desktop
Porém, eu não consigo utilizar este diretório porque o meu computador está nomeado como “Lucas Machado”, e não “lucas.machado”…
Por isso precisaria pegar isso dinamicamente, para que quando qualquer usuário acessar, possa encontrar o diretório.
javaflex
Substitui espaco por ponto como tinha falado.
L
Lucaaasxd
Obrigado pela sugestão. Vou verificar em alguns computadores se dá certo.