pardon my english, поскольку английский не является моим основным языком.Поиск деталей единственного устройства USB, подключенного с помощью java
Я в настоящее время студент - откровенен, и я пытаюсь работать над своим проектом.
Используемые языки JAVA и IDE - затмение.
В настоящее время я использовал LIBUSB для своего проекта, который я загрузил с http://usb4java.org/. это очень полезно, и мне удалось получить список деталей моих устройств. Итак, моя проблема заключается ... скажем, я просто хочу идентифицировать, например, устройство 004. Есть ли какие-либо предложения по этому поводу. ? Я пробовал со сканированием его два раза и сравнивал вывод, но не смог из-за того, что данный тип данных не соответствует. Сначала я думал, что тип данных может быть arraylist, но нет. Есть ли другой способ сохранить вывод в текстовый файл, чтобы я мог сравнивать?
мои коды, которые я взял с примера libusb онлайн.
public class UsbBench {
/**
* Main method.
*
* @param args
* Command-line arguments (Ignored)
* @throws IOException
*/
public static void main(String[] args) throws IOException
{
// Create the libusb context
Context context = new Context();
// Initialize the libusb context
int result = LibUsb.init(context);
if (result < 0)
{
throw new LibUsbException("Unable to initialize libusb", result);
}
// Read the USB device list
DeviceList list = new DeviceList();
result = LibUsb.getDeviceList(context, list);
if (result < 0)
{
throw new LibUsbException("Unable to get device list", result);
}
try
{
// Iterate over all devices and list them
for (Device device: list)
{
int address = LibUsb.getDeviceAddress(device);
int busNumber = LibUsb.getBusNumber(device);
DeviceDescriptor descriptor = new DeviceDescriptor();
result = LibUsb.getDeviceDescriptor(device, descriptor);
if (result < 0)
{
throw new LibUsbException(
"Unable to read device descriptor", result);
}
}
}
finally
{
// Ensure the allocated device list is freed
LibUsb.freeDeviceList(list, true);
}
// Deinitialize the libusb context
LibUsb.exit(context);
}
}
И это хорошо работает также. ВЫВОД:
Bus 002, Device 003: Vendor 1bcf, Product 2c6e
Bus 001, Device 002: Vendor 06cb, Product 2970
Bus 001, Device 003: Vendor 0461, Product 4ded
Bus 001, Device 001: Vendor 8086, Product 8c31
Bus 002, Device 001: Vendor 8086, Product 8c26
Bus 002, Device 004: Vendor 04ca, Product 300b
Bus 002, Device 005: Vendor 8087, Product 8000
Так что моя проблема ... скажем я просто хочу, чтобы идентифицированный, например устройства 004. Есть ли какие-либо предложения по этому вопросу. ? Это также мой первый раз в stackoverflow. Я смиренно ищут свой опыт. Благодарю. Благодарю.
Что вы имеете в виду под "identifty устройство на шине 002 устройства 004"? Вы имеете в виду выяснить, что устройство физически? Вы спрашиваете, как интерпретировать коды поставщиков и продуктов? Попробуйте [репозиторий USB ID] (http://www.linux-usb.org/usb-ids.html) –
Также [База данных USB ID] (http://www.the-sz.com/products/usbid/) –
Что я имею в виду ... Я хочу сузить до всего лишь один USB, а не весь весь список. Попытка улучшить код, чтобы он мог быть гибким при обнаружении USB-устройств. –