web-dev-qa-db-ja.com

JavaでWindowsユーザー名を取得する方法は?

だから私がやろうとしているのは、Java windowsがログインしているユーザーの名前を見つけるので、そのようなメソッドを言うと、ユーザー名を返しますノアと呼ばれるユーザーでは、Javaは「ノア」を返し、ユーザーAmandaにいる場合は、Javaは「アマンダ」を返します。これを行う?

25
Noah Cagle

システムプロパティ「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>
52
rgettman

試してください:

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

または

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

二通り

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

  2. System.getenv("USERNAME");

どちらもすべてのOSに適しています

15

NTSystem.getName()は、アプリがWindowsサービスで実行されるときにSYSTEMも返します。アプリがWindowsサービスで実行されている場合、NTSystemでユーザー名を取得する方法はありません

1
aaa