如何在Java中获取Windows用户名?

时间:2013-11-14 22:46:24

标签: java windows username

所以我要做的就是让我的Java找到Windows登录的用户名,所以当我说这样的方法时,它会返回用户名,就像我在名为Noah的用户中使用它一样,java会返回“Noah”,如果我是用户Amanda,Java会返回“Amanda”。我该怎么做?

4 个答案:

答案 0 :(得分:51)

查找系统属性“user.name”。

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

演示: Main.java

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

输出:

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

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

c:\dev\src\misc>

答案 1 :(得分:15)

尝试:

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

String userName = new com.sun.security.auth.module.NTSystem().getName()

答案 2 :(得分:14)

两种方式

  1. System.getProperty("user.name");

  2. System.getenv("USERNAME");

  3. 两者都适用于任何操作系统

答案 3 :(得分:1)

当应用程序在Windows服务上运行时,NTSystem.getName()也会返回SYSTEM。当应用程序在Windows服务上运行时,无法使用NTSystem获取用户名