`

java中的base64字符流与图片的相互转换

    博客分类:
  • java
阅读更多
//base64字符串转化成图片
    public static boolean GenerateImage(String imgStr)
    {   //对字节数组字符串进行Base64解码并生成图片
        if (imgStr == null) //图像数据为空
            return false;
        BASE64Decoder decoder = new BASE64Decoder();
        try
        {
            //Base64解码
            byte[] b = decoder.decodeBuffer(imgStr);
            for(int i=0;i<b.length;++i)
            {
                if(b[i]<0)
                {//调整异常数据
                    b[i]+=256;
                }
            }
            //生成jpeg图片
            String imgFilePath = "F:\\tmyyzz.jpg";//新生成的图片
            OutputStream out = new FileOutputStream(imgFilePath);   
            out.write(b);
            out.flush();
            out.close();
            return true;
        }
        catch (Exception e)
        {
            return false;
        }
    }



//图片转化成base64字符串
    public static String GetImageStr()
    {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
        String imgFile = "D:\\tupian\\jt.jpg";//待处理的图片
        InputStream in = null;
        byte[] data = null;
        //读取图片字节数组
        try
        {
            in = new FileInputStream(imgFile);       
            data = new byte[in.available()];
            in.read(data);
            in.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        //对字节数组Base64编码
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data);//返回Base64编码过的字节数组字符串
    }





分享到:
评论

相关推荐

    java 把PDF转换成BASE64

    java 把PDF转换成BASE64,java 把PDF转换成BASE64,java 把PDF转换BASE64,java 把PDF转换成BASE64java 把PDF转换成BASE64

    Base64编码

    实现将二进制字节数据编码转换为base64的字符串数据,以及将base64字符串转换回二进制字节数据,位操作。

    base64转码解密成明文加密成Java密文

    Base64 解密成明文,Base64 加密成Java密文. 参数输入输出流 共三个java文件。

    Java开发技术大全(500个源代码).

    base.java 定义一个基类 BaseColors.java 一个简单的接口 basePoint.java 一个测试用的基类 Colorable.java 一个子接口 ColoredPoint.java 一个测试用子类 common.java 一个公用类 derive.java 一个测试用...

    java进阶13天资料.zip

    day10-字符流, 缓冲流、转换流、序列化流,打印流,属性集 day11-Socket网络编程、NIO day12-JUnit单元测试、反射、注解、动态代理 day13-XML和Dom4j,装饰模式,工厂模式,commons-io工具包,Base64

    Android开发人员不得不收集的代码

    图片相关→ImageUtils.java 完善ing 键盘相关→KeyboardUtils.java 避免输入法面板遮挡 动态隐藏软键盘 hideSoftInput 点击屏幕空白区域隐藏软键盘(注释萌萌哒) clickBlankArea2HideSoftInput0 动态显示软键盘 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

    java 面试题 总结

    抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。...

    写给大忙人看的JAVA SE 8

    8.5.3 Base64编码 176 8.6 注解 177 8.6.1 可重复的注解 177 8.6.2 可用于类型的注解 179 8.6.3 方法参数反射 181 8.7 其他一些细微的改进 182 8.7.1 Null检查 182 8.7.2 延迟消息 182 8.7.3 正则表达式 183 8.7.4 ...

    JPocketKnife

    在ctf比赛中经常用到的编码解码工具,需要java环境。 JPocketKnife(JPK)是国外流行的字符转换工具。 可以在二进制、十六进制、十进制、ASC、字符串之间自由转换。 并支持与 或 异或等各种计算方法。 支持base64 ...

    超级有影响力霸气的Java面试题大全文档

    1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是...

    NP管理器 v3.0.79 免费APK逆向修改工具

    ·工具箱(常见字符串转换,如base64、des、md5、16进制、Unicode、去空白等); · 一键添加Xposed检测,一键添加弹窗、对话框; · axml反编译/回编译、arsc文件查看字符常量; · 一键LOG注入,一键去除所有弹窗...

Global site tag (gtag.js) - Google Analytics