所以,我想让我的Java查找Windows登录时使用的用户名,所以当我说这样的方法时,它将返回用户名,就像我在名为Noah的用户中使用它一样, java将返回“ Noah”,如果我使用的是Amanda用户,则Java将返回“ Amanda”。我该怎么办?
查找系统属性“ 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>
尝试:
String userName = System.getProperty("user.name");
或
String userName = new com.sun.security.auth.module.NTSystem().getName()
两种方法
System.getProperty("user.name");
System.getenv("USERNAME");
两者都适合任何操作系统
NTSystem.getName()也返回SYSTEM。当应用程序在Windows服务上运行时,无法通过NTSystem获取用户名]