java windows username

¿Cómo obtener el nombre de usuario de Windows en Java?



username (4)

Busque la propiedad del sistema "usuario.nombre".

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

Demostración: Main.java

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

Salida:

c:/dev/src/misc>javac Main.java c:/dev/src/misc>java Main rgettman c:/dev/src/misc>

Entonces, lo que estoy tratando de hacer es permitir que mi Java encuentre el nombre del usuario con el que Windows inició sesión, así que cuando digo un método así, devolvería el nombre del usuario, como lo uso en el Usuario llamado Noah, Java devuelve "Noah" y si estuviera en el usuario Amanda, Java devolvería "Amanda". ¿Cómo haría esto?


Dos caminos

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

  2. System.getenv("USERNAME");

Ambos son buenos para cualquier SO


NTSystem.getName () también devuelve SYSTEM cuando la aplicación se ejecuta en un servicio de Windows. No hay medios para obtener el nombre de usuario con NTSystem cuando la aplicación se ejecuta en un servicio de Windows


Tratar:

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

o

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