所以我想做的是让我的Java找到登录windows的用户名,所以当我说这样的方法时,它会返回用户名,就像我在名为Noah的用户中使用它一样,java会返回“Noah”,如果我在用户 Amanda 上,Java 将返回“Amanda”。我该怎么做?
问问题
79687 次
4 回答
62
查找系统属性“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>
于 2013-11-14T22:48:22.883 回答
17
两种方式
System.getProperty("user.name");
System.getenv("USERNAME");
两者都适用于任何操作系统
于 2013-11-15T00:08:33.277 回答
17
尝试:
String userName = System.getProperty("user.name");
或者
String userName = new com.sun.security.auth.module.NTSystem().getName()
于 2013-11-14T22:48:33.197 回答
1
当应用程序在 Windows 服务上运行时,NTSystem.getName() 也会返回 SYSTEM。当应用程序在 Windows 服务上运行时,无法使用 NTSystem 获取用户名
于 2014-12-31T19:52:00.380 回答