-1

接続されたUSBデバイスの名前を取得するために、USB読み取りJavaプログラムを開発していました。これは私が書いたコードです:

import java.io.UnsupportedEncodingException;
import java.util.List;
import javax.usb.*;
import javax.usb.UsbDevice;
import javax.usb.UsbDisconnectedException;
import javax.usb.UsbException;
import javax.usb.UsbHostManager;
import javax.usb.UsbHub;
import javax.usb.UsbServices;

public class ListUsbDevices {
    public static void main(String[] args) throws SecurityException, UsbException, UnsupportedEncodingException, UsbDisconnectedException {
        UsbServices services = UsbHostManager.getUsbServices();
        UsbHub rootHub = services.getRootUsbHub();

        List<UsbDevice> devices = rootHub.getAttachedUsbDevices();
        if (devices.size() > 0) {
            System.out.println("USB devices found.");
        } else {
            System.out.println("No USB devices found.");
        }

        for (UsbDevice device : devices) {
            System.out.println("\tProduct String " + device.getProductString());
            System.out.println("\tManufacturer String " + device.getManufacturerString());
            System.out.println("\tSerial Number " + device.getSerialNumberString());
        }
    }
}

このプログラムをコンパイルすると、次の警告が表示されます。

Note: ListUsbDevices.java uses unchecked or unsafe operations.
Recompile with -Xlint:unchecked for details.

で再コンパイルすると-Xlint:unchecked、次のようになります。

 ListUsbDevices.java:21: warning: [unchecked] unchecked conversion
     found   : java.util.L
     required: java.util.List<javax.usb.UsbDevice>
     List<UsbDevice> devices = rootHub.getAttachedUsbDevices();
                                          ^.

しかし、クラスファイルは作成されます。

このプログラムを実行すると、次の例外が発生します。

Exception in thread "main" javax.usb.UsbException: Properties file
javax.usb.properties not found.

この問題を解決するにはどうすればよいですか? Mac でプロパティ ファイルを設定するにはどうすればよいですか? 私はこれでCLASSPATHを設定しました:

export CLASSPATH=.:/Users/sakkisetty/Documents/jsr80-1.0.1.jar

しかし、それがうまくいったかどうかはわかりません。任意のポインタをいただければ幸いです。

4

1 に答える 1

1

プロパティ ファイルは通常、ネイティブ パッケージの一部です。OSX の実装についても知りませんでした。

Linux での設定方法の例は、javax.usb FAQで入手できます。

于 2013-04-09T06:03:23.690 に答える