2012-04-16 36 views
0

私のコードが実行されるときにQRコードを読み取るようにプログラムを作成しようとしていますが、例外javax.imageio.IIOException: Can't read input fileが発生しています。画像はsrcディレクトリにあります。誰かが...私のコードでは、問題を見つけるために私を助けてくださいQRコードを読み取るプログラムで入力ファイルを読み取ることができません

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(); 
     } 
    } 
} 

答えて

0

まず、それが実行されているOSに応じて、右のセパレータを配置して代わりに'/'File.separatorを使用することができます。

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

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

+0

最後に、私は問題を解決できました。 (1)イメージをsrcディレクトリの外に置いています。 (2)当初、私は大きなサイズのQRコードを作り、それを読もうとしました。しかし、できませんでした。 それから、それを小さなサイズのQRコードで置き換えて読むことができました。しかし、私は理由を知らない。 ご協力いただきありがとうございます。 – Benben

関連する問題