Как найти «описание компьютера» в приложении Java в Windows и / или Mac?

Я изо всех сил пытался найти« описание »компьютера, на котором запущено мое приложение Java.

] То, что мне нужно, это имя, используемое для DNS при рекламе моего компьютера в локальной сети («iMac Mattijs» на снимках экрана ниже).

В Windows XP это имя можно найти здесь: Панель управления -> Система -> Имя компьютера -> Описание компьютера.

alt text

В Mac OS 10.6 это имя можно найти здесь: Системные настройки -> Общий доступ -> Имя компьютера

alt text

Приведенные ниже методы не доставляют имя, которое я ищу. Взгляните на этот код:

    System.out.println("COMPUTERNAME environment variable: " + System.getenv("COMPUTERNAME"));
    try { System.out.println("localhost name: " + InetAddress.getLocalHost().getHostName()); } 
    catch (UnknownHostException e1) {}

    try {
        Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
        while (interfaces.hasMoreElements()) {
            NetworkInterface thisInterface = interfaces.nextElement();
            Enumeration<InetAddress> addresses = thisInterface.getInetAddresses();

            System.out.println("* network interface: " + thisInterface.getDisplayName());
             while (addresses.hasMoreElements()) {
                 InetAddress address = addresses.nextElement();
                 System.out.println(" - address: " + address.getCanonicalHostName());
             }
        }           
    } catch (SocketException e) {}

В Windows это печатает:

COMPUTERNAME environment variable: ARTTECH-51CA5F5
localhost name: arttech-51ca5f5
* network interface: MS TCP Loopback interface
 - address: localhost
* network interface: NVIDIA nForce Networking Controller - Packet Scheduler Miniport
* network interface: Broadcom 802.11n Network Adapter - Packet Scheduler Miniport
 - address: arttech-51ca5f5.lan
* network interface: Bluetooth Device (Personal Area Network)

На Mac я получаю:

COMPUTERNAME environment variable: null
localhost name: imac-mattijs.lan 
* network interface: en1
 - address: imac-mattijs.lan
 - address: imac-mattijs.local
* network interface: lo0
 - address: localhost
 - address: fe80:0:0:0:0:0:0:1%1
 - address: localhost

Но я ищу полную строку «iMac Mattijs».

Любые подсказки будут очень приветствоваться !

Спасибо, Маттийс

8
задан Mattijs 19 October 2010 в 16:00
поделиться