|
- import java.io.BufferedInputStream;
& r2 v5 i j2 s7 N - import java.io.BufferedReader;
- D' X" c" J5 a- B5 C/ H5 {: c: j - import java.io.File;
7 D, y& N6 n' ?: z1 e' n+ ~ - import java.io.FileInputStream;
6 {. {1 G; Z8 Y- a; g - import java.io.FileOutputStream;
3 I& h; Y1 [6 H& d+ \/ y - import java.io.FileWriter;
( }7 Y8 E; H5 ?, j9 y4 i1 M - import java.io.IOException;
U; X" h6 ~; E* C. j, }) ? - import java.io.InputStream; % V6 p3 D; X3 \9 Z e- O/ k, [
- import java.io.InputStreamReader; ( U/ X8 I! A" ~% i) d
- import java.io.PrintWriter; " V- r1 O+ F2 X4 m8 R
- : D9 v( N/ d" @% u) Y" X" }' ~& f
- public class ImageToHex { " D- Z2 d9 u7 C5 b9 [, K: \
- public static void main(String[] args) throws Exception {
2 \2 {1 `/ W' O j5 ~0 s. c - & y* i. ~$ s5 T4 r4 S2 i- e
- try{
8 G7 z2 Z% t9 ]& R - StringBuffer sb = new StringBuffer(); * r t2 K6 v7 \
- FileInputStream fis = new FileInputStream("f:/345.jpg");
5 Q2 S4 ^5 @2 A - BufferedInputStream bis = new BufferedInputStream(fis);
/ j: Y1 ~4 r1 \+ ^ H - java.io.ByteArrayOutputStream bos=new java.io.ByteArrayOutputStream(); 1 h) f# @4 C7 r3 c# e
- . Y0 S1 f6 M+ P: b" B0 _' j
- byte[] buff=new byte[1024];
; Z1 [2 x' D) g. v" ?8 i Y6 f - int len=0; 1 `$ B' a! L4 r/ {
- while((len=fis.read(buff))!=-1){
: \9 O- A# C) s- i$ ] - bos.write(buff,0,len);
* ~; Y$ s( Z) o3 R! | - } 5 [. L% M1 @6 [' ?/ t$ ^8 g5 ]# \
- byte[] result=bos.toByteArray();
; r, j3 e" q+ Q2 E! L5 O8 N -
9 Y) U- w4 U& @' k5 Z% N. K - , a( u9 m. |2 W& u- R8 S
- System.out.println("++++"+byte2HexStr(result));
2 T6 O. k3 s1 n& h - String str=byte2HexStr(result); * `( O6 k, B( J) V$ D% T8 H, f: \+ D
- pw.println(str);
+ H; Y, ~8 [9 v; L% l0 M - pw.close();
" ~6 y+ |' t5 Z3 v3 S - }catch(IOException e){ * A. Y9 d# l6 a/ v) S
- }
2 t% n: o( w% k -
7 O0 w- i) ^* r. [$ o5 K - }
; I, E. h( p1 w$ k - public static String byte2HexStr(byte[] b) { 4 f R9 A+ R- J
- String hs=""; / N! ]: L- N2 y& e0 b
- String stmp=""; + C* N% u; ^0 i
- for (int n=0;n<b.length;n++) { . G- s0 S7 i' c$ ]% J
- stmp=(Integer.toHexString(b[n] & 0XFF)); & N! B& ?# Q( z3 C% u: A/ i ~
- if (stmp.length()==1) hs=hs+"0"+stmp; 6 U* L/ Z _, H
- else hs=hs+stmp;
) T" X6 L' f- G8 z1 G' N, h/ G! a - }
6 p: b, v# `$ B8 n* r3 G - return hs.toUpperCase(); . Z. l! d2 y/ }4 o, R+ x
- }
7 o$ L8 `4 z, A! u Q B3 e# w! }2 F - p( V$ ]- R Q/ B; o
- private static byte uniteBytes(String src0, String src1) { : p' \4 r0 `" w% Y2 u2 z
- byte b0 = Byte.decode("0x" + src0).byteValue();
3 b: u) X5 i2 Y: g2 z1 F - b0 = (byte) (b0 << 4); ! w& d5 k. z) I6 @' R
- byte b1 = Byte.decode("0x" + src1).byteValue();
- Q; p8 R. i4 l( r - byte ret = (byte) (b0 | b1); & y7 B) e4 a- F5 u: H5 c
- return ret;
6 |$ ~1 b" U2 J- k" w: R - } X! l. J- N+ {! k
- public static String bytesToHexString(byte[] src){ * J1 F, M% B. d( \7 o2 u
-
6 k4 G( \4 [+ ~' o8 } - StringBuilder stringBuilder = new StringBuilder("");
9 O/ A6 j$ {( T5 ?; @9 x; d/ u - if (src == null || src.length <= 0) { ) @- ~) f& V1 f" o) s; R8 k
- return null;
- F3 H) c6 s# B* i - }
' b$ f6 a7 y, K - for (int i = 0; i < src.length; i++) { : A8 J7 {$ j- w3 d& ~7 n
- int v = src[i] & 0xFF;
9 f3 C( ~& e9 E/ c2 }" c - String hv = Integer.toHexString(v);
: w" w) T% l5 M1 B- P- z; _ - if (hv.length() < 2) {
$ {/ d5 f0 e0 U' K - stringBuilder.append(0); + t1 y) z( W% w: E
- } * x) G: l0 Q7 ]8 x. R ~9 K" z
- stringBuilder.append(hv); / C! ^" ^" n8 S# L; i
- } ) k& h8 p9 s6 K% F
- return stringBuilder.toString();
% ?7 b3 M% m( T- X8 a+ R -
3 G) @, p; [- c9 w! {) [- q, a - } / B8 Q( V+ [$ O% K
-
: a# f8 n% T8 J- R" } O: B - % N1 T, ]$ o7 }/ I: q/ Y" X
-
5 @$ T+ o7 N0 V) G8 s" J8 l' t: f - }# a- ]% y% o9 N: v4 Y
复制代码 |
|