为什么我的Path file=new File(“d:/code/img.png”).toPath();这句话报错呢?一写完Path下面就出现红色下划线,显示压根就没有这个包,但我前面那些步骤都和老师视频里写的一样,都没报错,就这一句会报错,这是为啥啊?
直接用File就好了,不需要Path
jdk使用1.8依然如此
JDK问题
package com; import java.nio.file.Path; import java.util.HashMap; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType ; import com.google.zxing.MultiFormatReader; import com.google.zxing.MultiFormatWriter; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.pdf417.decoder.ec.ErrorCorrection; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import java.io.File; public class QRcode { public static void main(String[] args) { int width = 300; int height = 300; String format = "png"; String content = "www.imooc.com"; // 定义二维码参数 HashMap hints = new HashMap(); // 编码设置 hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); // 识别级别 hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M); // 边距 hints.put(EncodeHintType.MARGIN, 2); try{ BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints); Path file = new File("./Qrcode.png").toPath(); MatrixToImageWriter.writeToPath(bitMatrix, format, file ); } catch (Exception e) { e.printStackTrace(); } } }
Path file = new File("D:/Qrcode-zxing.png").toPath();我也是 File和topath()下面一直有红线
JDK版本太低了,换个1.8的
因为你d盘下没有创建code这个文件夹