用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

java图片转成十六进制

2015-02-05 作者: java源代码大全举报

[java]代码库

import java.io.BufferedInputStream;  
import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  
import java.io.FileWriter;  
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.io.PrintWriter;  

/** 
 * 图片转成十六进制 
 * @author Administrator 
 * 
 */  
public class ImageToHex {  
    public static void main(String[] args) throws Exception {  

    try{   
        StringBuffer sb = new StringBuffer();   
        FileInputStream fis = new FileInputStream("f:/345.jpg");   
        BufferedInputStream bis = new BufferedInputStream(fis);   
        java.io.ByteArrayOutputStream bos=new java.io.ByteArrayOutputStream();  

        byte[] buff=new byte[1024];  
        int len=0;  
        while((len=fis.read(buff))!=-1){  
            bos.write(buff,0,len);  
        }  
        //得到图片的字节数组  
        byte[] result=bos.toByteArray();  

        System.out.println("++++"+byte2HexStr(result));  
        //字节数组转成十六进制  
        String str=byte2HexStr(result);  
        /* 
         * 将十六进制串保存到txt文件中 
         */  
        PrintWriter   pw   =   new   PrintWriter(new   FileWriter("f://today.txt"));     
           pw.println(str);     
           pw.close();  
        }catch(IOException e){   
        }   

}  
    /* 
     *  实现字节数组向十六进制的转换方法一 
     */  
    public static String byte2HexStr(byte[] b) {  
        String hs="";  
        String stmp="";  
        for (int n=0;n<b.length;n++) {  
            stmp=(Integer.toHexString(b[n] & 0XFF));  
            if (stmp.length()==1) hs=hs+"0"+stmp;  
            else hs=hs+stmp;  
        }  
        return hs.toUpperCase();  
    }  

    private static byte uniteBytes(String src0, String src1) {  
        byte b0 = Byte.decode("0x" + src0).byteValue();  
        b0 = (byte) (b0 << 4);  
        byte b1 = Byte.decode("0x" + src1).byteValue();  
        byte ret = (byte) (b0 | b1);  
        return ret;  
    }  
    /* 
     *实现字节数组向十六进制的转换的方法二 
     */  
    public static String bytesToHexString(byte[] src){  

        StringBuilder stringBuilder = new StringBuilder("");  
        if (src == null || src.length <= 0) {  
            return null;  
        }  
        for (int i = 0; i < src.length; i++) {  
            int v = src[i] & 0xFF;  
            String hv = Integer.toHexString(v);  
            if (hv.length() < 2) {  
                stringBuilder.append(0);  
            }  
            stringBuilder.append(hv);  
        }  
        return stringBuilder.toString();  

    }  

}

//源代码片段来自云代码http://yuncode.net
			


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...