制作一个二维码
**1.**手动创建两个文件夹
2.导入相应的jar整合包(生成与解析)
3.代码如下
package picture;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.swetake.util.Qrcode;
public class pictureQrcode {
public static void main(String[] args) throws IOException {
setImage();
System.out.println("二维码生成成功");
}
public static void setImage() throws IOException {
int v =6;
int width = 67 + 12 * (v - 1);
int height = 67 + 12 * (v - 1);
Qrcode x = new Qrcode();
x.setQrcodeErrorCorrect('L');
x.setQrcodeEncodeMode('B');//注意版本信息 N代表数字 、A代表 a-z,A-Z、B代表 其他)
x.setQrcodeVersion(v);//版本号 1-40
//缓冲区
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
//绘图
Graphics2D gs = bufferedImage.createGraphics();
gs.setBackground(Color.WHITE);
gs.setColor(Color.BLACK);
gs.clearRect(0, 0, width, height);
//偏移量
int pixoff = 2;
File srcFile = new File("D:\\picture\\IN\\Itest.txt");
//封装目的端根目录
File destFile = new File("D:\\picture\\OUT\\out.txt");
BufferedInputStream bis =
new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos =
new BufferedOutputStream(new FileOutputStream(destFile));
//每次读写一个字节数组
byte[] buff = new byte[120];
int len = 0;
//int index=0;
while((len=bis.read(buff))!=-1) {
//System.out.println("运行"+"第"+(index++)+"次");
//二维码
//不能大于120,否则二维码是空白
if (buff.length > 0 && buff.length <= 120) {
boolean[][] s = x.calQrcode(buff);
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < s.length; j++) {
if (s[j][i]) {
gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);
}
}
}
}
gs.dispose();
bufferedImage.flush();
//设置图片格式,与输出的路径
ImageIO.write(bufferedImage, "png", new File("D:\\picture\\OUT\\OUTqrcode2.png"));
System.out.println("二维码生成完毕");
bos.write(buff, 0, len);
}
bos.close();
bis.close();
}
}
二维码生成完毕
复制文件
package picture;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class picturexx {
public static void main(String[] args) throws IOException {
setImage();
System.out.println("复制成功");
}
public static void setImage() throws IOException {
File srcFile = new File("D:\\picture\\IN\\Itest.txt");
//封装目的端根目录
File destFile = new File("D:\\picture\\OUT\\Otest.txt");
BufferedInputStream bis =
new BufferedInputStream(new FileInputStream(srcFile));
BufferedOutputStream bos =
new BufferedOutputStream(new FileOutputStream(destFile));
byte[] buff = new byte[1024*5];
int len = 0;
while((len=bis.read(buff))!=-1) {
bos.write(buff, 0, len);
}
bos.close();
bis.close();
}
}