wangy 发表于 2021-6-30 22:10:20

【Java】图片转16进制

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;

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;
      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);
         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 & 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 & 0xFF;
            String hv = Integer.toHexString(v);
            if (hv.length() < 2) {
                stringBuilder.append(0);
            }
            stringBuilder.append(hv);
      }
      return stringBuilder.toString();

    }



}
页: [1]
查看完整版本: 【Java】图片转16进制