[Java] java图片转成十六进制 →→→→→进入此内容的聊天室

来自 , 2020-11-19, 写在 Java, 查看 123 次.
URL http://www.code666.cn/view/46072631
  1. import java.io.BufferedInputStream;  
  2. import java.io.BufferedReader;  
  3. import java.io.File;  
  4. import java.io.FileInputStream;  
  5. import java.io.FileOutputStream;  
  6. import java.io.FileWriter;  
  7. import java.io.IOException;  
  8. import java.io.InputStream;  
  9. import java.io.InputStreamReader;  
  10. import java.io.PrintWriter;  
  11.  
  12. /**
  13.  * 图片转成十六进制
  14.  * @author Administrator
  15.  *
  16.  */  
  17. public class ImageToHex {  
  18.     public static void main(String[] args) throws Exception {  
  19.  
  20.     try{  
  21.         StringBuffer sb = new StringBuffer();  
  22.         FileInputStream fis = new FileInputStream("f:/345.jpg");  
  23.         BufferedInputStream bis = new BufferedInputStream(fis);  
  24.         java.io.ByteArrayOutputStream bos=new java.io.ByteArrayOutputStream();  
  25.  
  26.         byte[] buff=new byte[1024];  
  27.         int len=0;  
  28.         while((len=fis.read(buff))!=-1){  
  29.             bos.write(buff,0,len);  
  30.         }  
  31.         //得到图片的字节数组  
  32.         byte[] result=bos.toByteArray();  
  33.  
  34.         System.out.println("++++"+byte2HexStr(result));  
  35.         //字节数组转成十六进制  
  36.         String str=byte2HexStr(result);  
  37.         /*
  38.          * 将十六进制串保存到txt文件中
  39.          */  
  40.         PrintWriter   pw   =   new   PrintWriter(new   FileWriter("f://today.txt"));    
  41.            pw.println(str);    
  42.            pw.close();  
  43.         }catch(IOException e){  
  44.         }  
  45.  
  46. }  
  47.     /*
  48.      *  实现字节数组向十六进制的转换方法一
  49.      */  
  50.     public static String byte2HexStr(byte[] b) {  
  51.         String hs="";  
  52.         String stmp="";  
  53.         for (int n=0;n<b.length;n++) {  
  54.             stmp=(Integer.toHexString(b[n] & 0XFF));  
  55.             if (stmp.length()==1) hs=hs+"0"+stmp;  
  56.             else hs=hs+stmp;  
  57.         }  
  58.         return hs.toUpperCase();  
  59.     }  
  60.  
  61.     private static byte uniteBytes(String src0, String src1) {  
  62.         byte b0 = Byte.decode("0x" + src0).byteValue();  
  63.         b0 = (byte) (b0 << 4);  
  64.         byte b1 = Byte.decode("0x" + src1).byteValue();  
  65.         byte ret = (byte) (b0 | b1);  
  66.         return ret;  
  67.     }  
  68.     /*
  69.      *实现字节数组向十六进制的转换的方法二
  70.      */  
  71.     public static String bytesToHexString(byte[] src){  
  72.  
  73.         StringBuilder stringBuilder = new StringBuilder("");  
  74.         if (src == null || src.length <= 0) {  
  75.             return null;  
  76.         }  
  77.         for (int i = 0; i < src.length; i++) {  
  78.             int v = src[i] & 0xFF;  
  79.             String hv = Integer.toHexString(v);  
  80.             if (hv.length() < 2) {  
  81.                 stringBuilder.append(0);  
  82.             }  
  83.             stringBuilder.append(hv);  
  84.         }  
  85.         return stringBuilder.toString();  
  86.  
  87.     }  
  88.  
  89. }
  90.  
  91. //源代码片段来自云代码http://yuncode.net
  92.                        

回复 " java图片转成十六进制"

这儿你可以回复上面这条便签

captcha