//获取一个本地图片文件 String separator = File.separator; File file = new File(“F:”+separator+”test.jpg”); //创建一个字节流 InputStream inputStream = new FileInputStream(file); //把本地文件 转化成byte[] ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = 0; while( (len=inputStream.read(buffer)) != -1 ){ outStream.write(buffer, 0, len); } byte [] data = outStream.toByteArray();//转化成byte[] 网络上都是 byte [] data = new byte[inputStream.available()];这种方法不可取 //关闭流 outStream.close(); inputStream.close(); //创建 BASE64Encoder 用来加密 BASE64Encoder base64Encoder = new BASE64Encoder(); //加密后字符串 校验是否正确,可以用网上在线工具去校验 String str = base64Encoder.encode(data); //—————————上面是转base64字符串 //—————————下面把base64字符串转成图片写到本地 //创建解密 BASE64Decoder BASE64Decoder base64Decoder = new BASE64Decoder(); //解密字符串转字节数组 byte [] bs = base64Decoder.decodeBuffer(str); //创建字节写入流 OutputStream imgOut = new FileOutputStream(“F:”+separator+”testDecoder.jpg”); imgOut.write(bs); //关闭流 imgOut.close();
