|
- import java.io.BufferedInputStream;
$ i6 g8 H1 O: B f3 Q - import java.io.BufferedReader; ( S P' q6 }* v0 X
- import java.io.File;
2 K2 c5 D J+ W9 C% ]2 _ - import java.io.FileInputStream;
6 }" \% {3 q, \4 G% u$ m6 s - import java.io.FileOutputStream;
& p5 C. L. \0 t$ ~ - import java.io.FileWriter;
( Y1 j& C3 D8 K3 c7 O - import java.io.IOException;
* N% K) L7 u5 o5 P2 |2 S7 B - import java.io.InputStream;
8 O3 M# s* k% [ ^ - import java.io.InputStreamReader;
8 s) I! ?) x$ L7 l) G6 q; A. t - import java.io.PrintWriter;
q9 N3 L+ m8 _% b4 F$ g# ^ -
6 C5 S# f/ S1 C7 x - public class ImageToHex { ) m( L1 ] ~% K: U y' K! [- H
- public static void main(String[] args) throws Exception { + d* f& J0 C. _
-
. u- Q i$ f* D5 s* c. v - try{
) E4 G) m p8 k# P+ w5 y- K a - StringBuffer sb = new StringBuffer(); ( Y) Y+ ^% R6 U! o, l
- FileInputStream fis = new FileInputStream("f:/345.jpg");
$ k! W+ B3 [' U+ W% W! ~ - BufferedInputStream bis = new BufferedInputStream(fis);
; M i" K9 o: C - java.io.ByteArrayOutputStream bos=new java.io.ByteArrayOutputStream(); ) w! w' y6 x5 b! T
- 9 H; }1 O5 d; i4 A, J5 \
- byte[] buff=new byte[1024]; " F: G4 e/ g1 e; s
- int len=0;
7 G0 h, [+ A* l - while((len=fis.read(buff))!=-1){ , U# ?# l5 ~2 |& [# i3 w; `
- bos.write(buff,0,len); ( h) g* z; F+ o5 f# V3 Z: l
- }
5 C0 q3 Z- L) ~! P$ c - byte[] result=bos.toByteArray();
9 D' p; @, P: c/ c1 @( l* O - ( s+ o( v; h4 Y
-
7 D6 ^6 e1 J6 c5 _7 @ - System.out.println("++++"+byte2HexStr(result)); 0 q$ O" Q. P4 a7 Y: O3 _# c! \$ q
- String str=byte2HexStr(result); $ Q; Y/ a4 ~9 s, j8 t
- pw.println(str); ) b% o( ^$ S- m2 L0 u. d5 u
- pw.close(); . i# x. [9 o# G. E, |5 Y
- }catch(IOException e){ 3 J/ x" y, A0 f: T
- } 2 C5 L: n7 d: t5 E5 X" i! Y
-
: v4 `% Z3 N5 m3 y - }
% W' f$ j+ r1 S B( P - public static String byte2HexStr(byte[] b) { Y: A% \% h8 Q6 Z$ O) K o
- String hs=""; 1 F2 w1 I% v: i+ f# @4 l) y" o3 ^
- String stmp=""; ( J. d3 L& q: v; w4 t6 r2 W. D
- for (int n=0;n<b.length;n++) {
! A7 K' I/ k* o5 l% f0 ^ - stmp=(Integer.toHexString(b[n] & 0XFF));
L' A' H8 W( m# b - if (stmp.length()==1) hs=hs+"0"+stmp;
5 G7 l' C, c) F4 @. y$ ^ - else hs=hs+stmp;
- [6 ~" y* ?& ~: M: N7 \) @ - }
$ }- m- {: u- y: Y& v" J' l4 y - return hs.toUpperCase(); & s$ P0 ^/ S' p
- }
) w% q: y& G P/ l) R: \8 f -
2 @8 g. o* {# Y$ K1 b: L/ ] - private static byte uniteBytes(String src0, String src1) {
H: D- I* C. e# i2 L- p, s2 d; u - byte b0 = Byte.decode("0x" + src0).byteValue(); 1 E( M7 R! L5 O% y0 X
- b0 = (byte) (b0 << 4);
# h0 h; o% T, R2 h0 U3 m% ^- w! W - byte b1 = Byte.decode("0x" + src1).byteValue();
% f) n& x$ M- {+ X" \5 B - byte ret = (byte) (b0 | b1); 6 v3 l+ _. h9 D2 ?
- return ret; " n) S+ @8 E) G# ?$ u
- }
; ^' U, |* Y: x0 m9 D7 `/ F - public static String bytesToHexString(byte[] src){ : T* g' o# m: G+ Q+ c
-
1 e4 `1 c8 B* C) s# k$ Q! H$ S( u6 g - StringBuilder stringBuilder = new StringBuilder("");
* e' X1 P+ u! n$ n$ D* N" ]5 [ - if (src == null || src.length <= 0) { 3 m6 Z( X. I$ j( j. l+ W0 Q1 r" _
- return null; - k! Q1 U+ u% }+ K# p
- } 4 l# E$ c0 [7 r( B& x p# f3 q
- for (int i = 0; i < src.length; i++) {
6 p! t8 L. \3 Q/ J - int v = src[i] & 0xFF; 6 ~# _! V. r+ I/ w# V7 x @
- String hv = Integer.toHexString(v);
5 ^+ E, z# k3 j2 @( o - if (hv.length() < 2) { 9 M5 Y4 N2 R# Y+ Y4 W( Y( O
- stringBuilder.append(0); 0 Y9 A& Q0 K7 e% ^$ o
- }
2 j" R7 z( Z- z, G; n' ^+ B - stringBuilder.append(hv); 6 x5 M( y2 t2 v! Y( O/ D9 |" W
- } 9 n! x! \0 r/ d' h& | L
- return stringBuilder.toString(); # ^' o7 I6 b' l% A
-
| a+ |# Z2 W. _3 N, e - } a- n. R; {* e2 c" M% f
- 1 _, m, V* M, t; Q5 @5 `
-
7 x' Q% m) I# i: u+ B3 r -
q2 B% j3 L2 x) ` - }
9 b+ N* ^8 k9 F1 a0 i
复制代码 |
|