0

QR コードを読み取るプログラムを作成しようとしていますが、コードを実行すると例外が発生しますjavax.imageio.IIOException: Can't read input file。イメージはsrcディレクトリにあります。誰かが私のコードの問題を見つけるのを手伝ってくれませんか...

public class BarcodeSample {    

    public static void main(String[] args) {
        Reader reader = new MultiFormatReader();

        try {
            BufferedImage image = ImageIO.read(new File("src/img.png"));
            LuminanceSource source = new BufferedImageLuminanceSource(image);
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));

            Result result = reader.decode(bitmap);

            BarcodeFormat format = result.getBarcodeFormat();
            String text = result.getText();

            ResultPoint[] points = result.getResultPoints();
            for (int i=0; i < points.length; i++) {
                System.out.println("    Point[" + i + "] = " + points[i]);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
4

1 に答える 1

0

まず、実行しているOSに応じて適切なセパレータを配置するFile.separator代わりに使用します。'/'

今問題はにありsrc/img.pngます。srcこのディレクトリはコードに使用されるため、画像をディレクトリの外に置くことをお勧めします(必須ではありません)。

どのIDEで実行するかはわかりませんが、ワークスペースの現在のディレクトリがプロジェクトのルートディレクトリに設定されていることを確認してくださいsrc/img.png(ルートの現在のディレクトリの下にあると想定src)。そうしないと、ファイルが見つからないという例外が発生します。

于 2012-04-16T10:51:48.913 に答える