所以我要做的就是让我的Java找到Windows登录的用户名,所以当我说这样的方法时,它会返回用户名,就像我在名为Noah的用户中使用它一样,java会返回“Noah”,如果我是用户Amanda,Java会返回“Amanda”。我该怎么做?
答案 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)
两种方式
System.getProperty("user.name");
System.getenv("USERNAME");
两者都适用于任何操作系统
答案 3 :(得分:1)
当应用程序在Windows服务上运行时,NTSystem.getName()也会返回SYSTEM。当应用程序在Windows服务上运行时,无法使用NTSystem获取用户名