你能在 java 中获得已连接设备的列表吗
Can you get a list of connected devices in java
我是 java 的新手,我只是想知道您是否可以收到已连接 USB 设备的列表,例如:
如果我创建了一个 java 程序来修改设备,我希望 JFrame 为用户显示一个设备列表 select 一个...(这不是我的想法,也不是我的想法意图,但这是我能想到的最好的例子,抱歉。)
使用 javax.usb
库,我们可以获得有关 UsbHostManager
的信息。
import java.util.*;
import javax.usb.*;
public class USBLister {
public static void main(String[] args) throws UsbException {
//Get UsbHub
UsbServices services = UsbHostManager.getUsbServices();
UsbHub root = services.getRootUsbHub();
listPeripherique(root);
}
public static void listPeripherique(UsbHub hub) {
//List all the USBs attached
List perepheriques = hub.getAttachedUsbDevices();
Iterator iterator = perepheriques.iterator();
while (iterator.hasNext()) {
UsbDevice perepherique = (UsbDevice) iterator.next();
System.out.println(perepherique);
if (perepherique.isUsbHub())
listPeripherique((UsbHub) perepherique);
}
}
}
这适用于存储媒体:-)
import java.io.IOException;
import java.nio.file.FileStore;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Paths;
public class FileStoreMountPoint {
public static void main(String[] args) {
for( var fileStore : FileSystems.getDefault().getFileStores() ) {
var str = fileStore.toString();
var rootPath = Paths.get( str.substring( 0, str.indexOf("(") ).trim() );
try {
Files.newDirectoryStream( rootPath ).forEach( path -> {
System.out.println( path );
});
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
我是 java 的新手,我只是想知道您是否可以收到已连接 USB 设备的列表,例如:
如果我创建了一个 java 程序来修改设备,我希望 JFrame 为用户显示一个设备列表 select 一个...(这不是我的想法,也不是我的想法意图,但这是我能想到的最好的例子,抱歉。)
使用 javax.usb
库,我们可以获得有关 UsbHostManager
的信息。
import java.util.*;
import javax.usb.*;
public class USBLister {
public static void main(String[] args) throws UsbException {
//Get UsbHub
UsbServices services = UsbHostManager.getUsbServices();
UsbHub root = services.getRootUsbHub();
listPeripherique(root);
}
public static void listPeripherique(UsbHub hub) {
//List all the USBs attached
List perepheriques = hub.getAttachedUsbDevices();
Iterator iterator = perepheriques.iterator();
while (iterator.hasNext()) {
UsbDevice perepherique = (UsbDevice) iterator.next();
System.out.println(perepherique);
if (perepherique.isUsbHub())
listPeripherique((UsbHub) perepherique);
}
}
}
这适用于存储媒体:-)
import java.io.IOException;
import java.nio.file.FileStore;
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Paths;
public class FileStoreMountPoint {
public static void main(String[] args) {
for( var fileStore : FileSystems.getDefault().getFileStores() ) {
var str = fileStore.toString();
var rootPath = Paths.get( str.substring( 0, str.indexOf("(") ).trim() );
try {
Files.newDirectoryStream( rootPath ).forEach( path -> {
System.out.println( path );
});
} catch (IOException e) {
e.printStackTrace();
}
}
}
}