web-dev-qa-db-fra.com

Comment obtenir le nom d'utilisateur Windows en Java?

Donc, ce que j'essaie de faire, c'est de laisser mon Java trouver le nom de l'utilisateur avec lequel Windows est connecté. Ainsi, quand je dirais une telle méthode, elle renverrait le nom de l'utilisateur, comme je l'utilise dans l'utilisateur nommé Noah, Java retourner "Noah" et si j'étais sur l'utilisateur Amanda, Java retournerait "Amanda". Comment je ferais ça?

23
Noah Cagle

Recherchez la propriété système "user.name".

String username = System.getProperty("user.name");

Démonstration: Main.Java

public class Main {
   public static void main(String[] args) {
      System.out.println(System.getProperty("user.name"));
   }
}

Sortie:

c:\dev\src\misc>javac Main.Java

c:\dev\src\misc>Java Main
rgettman

c:\dev\src\misc>
49
rgettman

Essayer:

String userName = System.getProperty("user.name");

ou 

String userName = new com.Sun.security.auth.module.NTSystem().getName()
15
user987339

NTSystem.getName () renvoie également SYSTEM lorsque l'application est exécutée sur un service Windows. Il n'y a aucun moyen d'obtenir le nom d'utilisateur avec NTSystem lorsque l'application s'exécute sur un service Windows

0
aaa