zoukankan      html  css  js  c++  java
  • Java IO3 把一个图片写进txt,再写出还原图片

    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是字符流

  • 相关阅读:
    JSP_内置对象_out
    POJ_2186_Popular Cows_强连通分量
    POJ_2411_Mondriaan's Dream_状态压缩dp
    POJ_2115_扩展欧几里德
    HDU_5690_快速幂,同余的性质
    POJ_1061_扩展欧几里德
    HDU_5833_高斯消元
    Delphi 使用 Datasnap 的几种三层应用技术总结
    BIM 开发商 --广州
    Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256599.html
Copyright © 2011-2022 走看看