我只是想知道连接到系统的输入设备和输出设备是什么。是否有任何 api 来获取有关使用 java 的输入/输出设备的信息?
编辑
独立于任何操作系统。
请建议。
要查找连接到系统的 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 教程。
我认为您应该通过 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";