Como acesso a pasta "Documentos" de um pc que eu não saiba o nome do usuário [RESOLVIDO]

1. Como acesso a pasta "Documentos" de um pc que eu não saiba o nome do usuário [RESOLVIDO]

Thomas Mendonça
Thomas M

(usa Ubuntu)

Enviado em 15/04/2021 - 19:24h

O problema é o seguinte:
Estou fazendo um app em Java que usa um arquivo txt na pasta /home, só que a aplicação não pode fazer nada com pastas na /home por questões de permissão, então pensei em colocar na pasta Documentos.
IMPORTANTE: É um arquivo .bash que cria a pasta e o arquivo .txt, a aplicação Java só altera esse arquivo.
Eu preciso me referir a um diretório na pasta Documentos, só que esse diretório muda de pc pra pc por causa do nome do usuário.
Alguém sabe como entrar nesse diretório sem saber o nome da pasta do usuário?
PS: pensei em usar o "~", mas não funciona em Java

Grato


  


2. Re: Como acesso a pasta

Ruan
ru4n

(usa Debian)

Enviado em 15/04/2021 - 19:45h

Todo sistema UNIX possui a variável de ambiente $HOME, que indica a pasta home do usuário logado. Sabendo disto, vc só precisa descobrir qual função/método da linguagem retorna o valor de uma variável de ambiente.

No caso do Java, vc pode pegar esse valor usando o System.getenv():
String home = System.getenv("HOME");
System.out.println("Sua home eh: " + home);


doc: https://docs.oracle.com/javase/tutorial/essential/environment/env.html


3. Re: Como acesso a pasta "Documentos" de um pc que eu não saiba o nome do usuário [RESOLVIDO]

Thomas Mendonça
Thomas M

(usa Ubuntu)

Enviado em 15/04/2021 - 19:55h


ru4n escreveu:

Todo sistema UNIX possui a variável de ambiente $HOME, que indica a pasta home do usuário logado. Sabendo disto, vc só precisa descobrir qual função/método da linguagem retorna o valor de uma variável de ambiente.

No caso do Java, vc pode pegar esse valor usando o System.getenv():
String home = System.getenv("HOME");
System.out.println("Sua home eh: " + home);


doc: https://docs.oracle.com/javase/tutorial/essential/environment/env.html


Obrigado pela solução! Essa é uma dúvida que tenho há um tempo mas não encontrava resposta.