如何知道连接到系统的输入设备是什么

时间:2013-01-12 13:51:19

标签: java hardware

我只是想知道连接到系统的输入设备和输出设备是什么。有没有api可以使用java获取有关输入/输出设备的信息?

修改

独立于任何操作系统。

请建议。

2 个答案:

答案 0 :(得分:2)

要查找连接到系统的USB设备,您可以使用jUSB。这个article有关于如何使用api的更深入的信息。特别是要查找所有USB设备(稍微修改一下文章):

Host host = HostFactory.getHost();
// Obtain a list of the USB buses available on the Host.
Bus[] bus  = host.getBusses();

// Traverse through all the USB buses.
for (int i = 0; i < bus.length; i++) {
    // Access the root hub on the USB bus and obtain the number of USB ports available on the root hub.
    Device root = bus[i].getRootHub();
    int totalPorts = root.getNumPorts();

    // Traverse through all the USB ports available on the 
    // root hub. It should be mentioned that the numbering 
    // starts from 1, not 0.
    for (int j=1; j<=total_port; j++) {
        // Obtain the Device connected to the port.
        Device device = root.getChild(j);
        if (device != null) {
                    // USB device available, do something here.
        }
    }
}

同样,您可以使用MIDI系统的api查找连接的MIDI设备,有关详细信息,请参阅the java tutorials

答案 1 :(得分:0)

我认为你应该通过java Runtime.getRuntime().exec(command);

尝试命令行

根据此网站http://michaelminn.com/linux/command_line 以下命令应该返回:

lspci: Lists information about devices connected to the internal PCI busses.

lspci -vv: Full dump of information.

所以

String command="lspci";

从Windows中你可能需要下载DevCon命令! http://support.microsoft.com/kb/311272/EN-US

所以

String command="devcon find";