我只是想知道连接到系统的输入设备和输出设备是什么。有没有api可以使用java获取有关输入/输出设备的信息?
修改
独立于任何操作系统。
请建议。
答案 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";