zoukankan      html  css  js  c++  java
  • 图片和字符串相互转化

    功能的实现应用到了java io

    以下是代码实现:

    package myProject;
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.util.Base64;
    import java.util.Base64.Decoder;
    import java.util.Base64.Encoder;
    
    
    
    public class ImageString {
        public static void main(String[] args){
            File file =new File("D:\1.jpg");
            File file_new=new File("D:\images\2.jpg");
            try{
                //读图片文件(图片转化成字符串)
                FileInputStream fileInputStream=new FileInputStream(file);
                BufferedInputStream bufferedInputStream=new BufferedInputStream(fileInputStream);
                byte[] b=new byte[bufferedInputStream.available()];
                bufferedInputStream.read(b);
                bufferedInputStream.close();
                fileInputStream.close();
                // 对字节数组Base64编码
                Encoder encoder=Base64.getEncoder();
               // BASE64Encoder encoder = new BASE64Encoder();
                // 返回Base64编码过的字节数组字符串
               // String str=encoder.encode(b);
                String str=encoder.encodeToString(b);
                System.out.println(str);
                
                
                //字符串转化成图片
                //将读的内容写入新的文件
                if(!file_new.exists()){
                    file_new.createNewFile();
                }
                FileOutputStream fileOutputStream=new FileOutputStream(file_new);
                BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(fileOutputStream);
                //解码
                //BASE64Decoder decoder = new BASE64Decoder();
                //byte[] b2=decoder.decodeBuffer(str);
                Decoder decoder=Base64.getDecoder();
                byte[] b2=decoder.decode(str);                    
                bufferedOutputStream.write(b2);
                bufferedOutputStream.flush();
                bufferedOutputStream.close();
                fileOutputStream.close();
                
                
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }

    这里用到了BASE64编码解码

  • 相关阅读:
    POJ 1741 Tree(树分治)
    HDU 2196 Computer(树形dp)
    2015沈阳区域赛Meeting(最短路 + 建图)
    make the fence great again(dp 二维)
    2017沈阳区域赛Infinite Fraction Path(BFS + 剪枝)
    bitset详解
    2016青岛区域赛.Coding Contest(费用流 + 概率计算转换为加法计算)
    2019上海网络赛B题(差分 + 离散化 or 差分 + 思维)
    poj-1664.放苹果.(递推)
    hdu-4738.Caocao's Bridges(图中权值最小的桥)
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/9346085.html
Copyright © 2011-2022 走看看