博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java IO3 把一个图片写进txt,再写出还原图片
阅读量:6174 次
发布时间:2019-06-21

本文共 1827 字,大约阅读时间需要 6 分钟。

package com.demo.zmz;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedWriter;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileWriter;import java.io.IOException;import java.util.Base64;public class Base64Test {	public static void main(String[] args) {				// 编码		encodeBase64();					// 解码			dcodeBase64();	}	private static void dcodeBase64() {		// TODO Auto-generated method stub		try (BufferedInputStream in = new BufferedInputStream(new FileInputStream("a.txt"));				BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("aa.jpg"))) {			// RTFM 			//内存数组,输出流,写入buf用			ByteArrayOutputStream ramArray = new ByteArrayOutputStream();						byte[] buf = new byte[1024*4];			int size;			while (-1 != (size = in.read(buf))) {				ramArray.write(buf, 0, size);			}			// 获得所有数据			byte[] data = ramArray.toByteArray();			//获取编码器-->返回字符串			byte[] img = Base64.getDecoder().decode(data);						out.write(img);			System.out.println("ok");					} catch (IOException e) {					}	}		private static void encodeBase64() {				try (BufferedInputStream in = new BufferedInputStream(new FileInputStream("11111.jpg"));				BufferedWriter out = new BufferedWriter(new FileWriter("a.txt"))) {			// RTFM 			//内存数组,输出流,写入buf用			ByteArrayOutputStream ramArray = new ByteArrayOutputStream();						byte[] buf = new byte[1024*4];			int size;			while (-1 != (size = in.read(buf))) {				ramArray.write(buf, 0, size);			}			// 获得所有数据			byte[] data = ramArray.toByteArray();			//获取编码器-->返回字符串			String s = Base64.getEncoder().encodeToString(data);			System.out.println(s);						out.write(s);					} catch (IOException e) {					}	}}

inputstream和outputstream是字节流,writer和reader是字符流

转载于:https://www.cnblogs.com/zhangmingzhao/p/7256599.html

你可能感兴趣的文章
springcloud--Feign(WebService客户端)
查看>>
网络攻击
查看>>
sorting, two pointers(cf div.3 1113)
查看>>
Scala并发编程【消息机制】
查看>>
win10下安装Oracle 11g 32位客户端遇到INS-13001环境不满足最低要求
查看>>
AngularJS-01.AngularJS,Module,Controller,scope
查看>>
【MySQL 安装过程1】顺利安装MySQL完整过程
查看>>
Inno Setup入门(二十)——Inno Setup类参考(6)
查看>>
图片自适应
查看>>
amd cmd
查看>>
Linux下的uml画图工具
查看>>
xml返回数组数据
查看>>
约瑟夫问题总结
查看>>
spring mybatis 批量插入返回主键
查看>>
指针函数小用
查看>>
开源力量公开课第二十三期-从SVN到Git,次时代代码管理
查看>>
输入挂
查看>>
升级迁移前,存储过程统计各个用户下表的数据量,和迁移后的比对
查看>>
sql注入分类
查看>>
初识CSS选择器版本4
查看>>