2

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

编辑

独立于任何操作系统。

请建议。

4

2 回答 2

2

要查找连接到系统的 USB 设备,您可以使用jUSB。本文有更多关于如何使用 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 设备,有关更多信息,请参阅java 教程

于 2013-01-12T14:58:55.283 回答
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";
于 2013-01-12T14:50:35.567 回答