1.
[代碼]將二進制流轉換成圖片文件 晚風工做室 www.soservers.com
跳至 [1] [全屏預覽]
001 |
importjava.io.ByteArrayInputStream; |
003 |
importjava.io.FileInputStream; |
004 |
importjava.io.FileOutputStream; |
005 |
importjava.io.InputStream; |
009 |
* @author 晚風工做室 www.soservers.com |
013 |
publicclassImgErToFileUtil { |
017 |
* @param imgStr 二進制流轉換的字符串 |
018 |
* @param imgPath 圖片的保存路徑 |
019 |
* @param imgName 圖片的名稱 |
024 |
publicstaticintsaveToImgByStr(String imgStr,String imgPath,String imgName){ |
026 |
System.out.println("===imgStr.length()====>"+ imgStr.length() |
027 |
+"=====imgStr=====>"+ imgStr); |
028 |
}catch(Exception e) { |
032 |
if(imgStr !=null&& imgStr.length() >0){ |
036 |
// 將上面生成的圖片格式字符串 imgStr,還原成圖片顯示 |
037 |
byte[] imgByte = hex2byte( imgStr ); |
039 |
InputStream in =newByteArrayInputStream(imgByte); |
041 |
File file=newFile(imgPath,imgName);//能夠是任何圖片格式.jpg,.png等 |
042 |
FileOutputStream fos=newFileOutputStream(file); |
044 |
byte[] b =newbyte[1024]; |
046 |
while((nRead = in.read(b)) != -1) { |
047 |
fos.write(b,0, nRead); |
053 |
}catch(Exception e) { |
064 |
* @param imgStr 二進制流轉換的字符串 |
065 |
* @param imgPath 圖片的保存路徑 |
066 |
* @param imgName 圖片的名稱 |
071 |
publicstaticintsaveToImgByBytes(File imgFile,String imgPath,String imgName){ |
074 |
if(imgFile.length() >0){ |
076 |
File file=newFile(imgPath,imgName);//能夠是任何圖片格式.jpg,.png等 |
077 |
FileOutputStream fos=newFileOutputStream(file); |
079 |
FileInputStream fis =newFileInputStream(imgFile); |
081 |
byte[] b =newbyte[1024]; |
083 |
while((nRead = fis.read(b)) != -1) { |
084 |
fos.write(b,0, nRead); |
090 |
}catch(Exception e) { |
104 |
publicstaticString byte2hex(byte[] b)// 二進制轉字符串 |
106 |
StringBuffer sb =newStringBuffer(); |
108 |
for(intn =0; n < b.length; n++) { |
109 |
stmp = Integer.toHexString(b[n] &0XFF); |
110 |
if(stmp.length() ==1) { |
111 |
sb.append("0"+ stmp); |
125 |
publicstaticbyte[] hex2byte(String str) {// 字符串轉二進制 |
129 |
intlen = str.length(); |
130 |
if(len ==0|| len %2==1) |
132 |
byte[] b =newbyte[len /2]; |
134 |
for(inti =0; i < str.length(); i +=2) { |
135 |
b[i /2] = (byte) Integer |
136 |
.decode("0X"+ str.substring(i, i +2)).intValue(); |
139 |
}catch(Exception e) { |