1. [代码]将二进制流转换成图片文件 晚风工作室 www.soservers.com
跳至 001 | importjava.io.ByteArrayInputStream; |
003 | importjava.io.FileInputStream; |
004 | importjava.io.FileOutputStream; |
005 | importjava.io.InputStream; |
009 | * 晚风工作室 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) { |