Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 二维码编译错误_Java_Qr Code_Zxing - Fatal编程技术网

Java 二维码编译错误

Java 二维码编译错误,java,qr-code,zxing,Java,Qr Code,Zxing,我正试图制作一个q代码来保存一个数字,以便将其传输给其他人,所以我做了一个测试 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.imageio.ImageIO; import com.

我正试图制作一个q代码来保存一个数字,以便将其传输给其他人,所以我做了一个测试

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.NotFoundException;
import com.google.zxing.Result;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.common.HybridBinarizer;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

public class QRCode {
static int a = 0;
public static void main(String[] args) throws WriterException, IOException,
  NotFoundException {
int qrCodeData = a;
String filePath = "C://Users/Tommy/QRCode.png";
String charset = "UTF-8"; // or "ISO-8859-1"
Map<EncodeHintType, ErrorCorrectionLevel> hintMap = new HashMap<EncodeHintType,          ErrorCorrectionLevel>();
hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);

createQRCode(qrCodeData, filePath, charset, hintMap, 200, 200);
System.out.println("QR Code image created successfully!");

System.out.println("Data read from QR Code: "
    + readQRCode(filePath, charset, hintMap));

}

 public static void createQRCode(final int qrCodeData, String filePath,
   String charset, Map hintMap, final int qrCodeheight, final int qrCodewidth)
    throws WriterException, IOException {
    BitMatrix matrix = new MultiFormatWriter().encode(
    new String(qrCodeData.getBytes(charset), charset),
    BarcodeFormat.QR_CODE, qrCodewidth, qrCodeheight);
    MatrixToImageWriter.writeToFile(matrix, filePath.substring(filePath
    .lastIndexOf('.') + 1), new File(filePath));
    }

  public static String readQRCode(String filePath, String charset, Map hintMap)
  throws FileNotFoundException, IOException, NotFoundException {
  BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(
    new BufferedImageLuminanceSource(
        ImageIO.read(new FileInputStream(filePath)))));
  Result qrCodeResult = new MultiFormatReader().decode(binaryBitmap);
  return qrCodeResult.getText();
}
} 

我如何解决这个问题?

简单。您正在对int调用
getBytes()
。这是不可能的

也许可以成为有用的工具

也许是这样

public static final byte[] intToByteArray(int value) {
    return new byte[] {
        (byte)(value >>> 24),
        (byte)(value >>> 16),
        (byte)(value >>> 8),
        (byte)value};
}

谢谢,@vidstige,我错过了它真是个白痴等等,你什么意思?
public static final byte[] intToByteArray(int value) {
    return new byte[] {
        (byte)(value >>> 24),
        (byte)(value >>> 16),
        (byte)(value >>> 8),
        (byte)value};
}