導航:首頁 > 編程語言 > java二進制圖片顯示圖片

java二進制圖片顯示圖片

發布時間:2023-03-20 21:32:47

java web二進制流的圖片如何用response返回給前台

FileOutputStream很明顯你是用的文件流返回的
// 以byte流的方式打開文件 d:1.gif

FileInputStream hFile = new FileInputStream(url); //得到文件大小

int i=hFile.available();

byte data[]=new byte[i]; //讀數據

hFile.read(data); //得到向客戶端輸出二進制數據的對象

OutputStream toClient=response.getOutputStream(); //輸出數據

toClient.write(data);

toClient.flush();

toClient.close();

hFile.close();

(1)java二進制圖片顯示圖片擴展閱讀

如果是純文本使用字元流,如果二進制文件,使用位元組流。

如果只是得到信息,原樣不動,不進行修改操作,例如文件上傳和下載,這時就使用位元組流。文件上傳:在伺服器端把瀏覽器端信息提取出來。文件下載:把伺服器端內容寫給瀏覽器端。

如果要操作的是自定義信息,這時使用字元流。

通過response獲取的輸出流它的真實類型是什麼?

ServletOutputStream response.getOutputStream();

PrintWriter response.getWriter();

ServletOutputStream由於使用位元組流多數是原樣復制,所以使用write方法,而不是print方法。

PrintWriter:列印流,兩個特點:1.可以設置自動刷新。2.可以將信息原樣輸出。

㈡ Java中如何把圖片轉換成二進制流

Java中將圖片轉為二進制流只需要使用FileImageInputStream取得圖片文件,然後使用ByteArrayOutputStream 寫入到二進制流中即可,下面是詳細代碼:


//圖片到byte數組
publicbyte[]image2byte(Stringpath){
byte[]data=null;
FileImageInputStreaminput=null;
try{
input=newFileImageInputStream(newFile(path));
ByteArrayOutputStreamoutput=newByteArrayOutputStream();
byte[]buf=newbyte[1024];
intnumBytesRead=0;
while((numBytesRead=input.read(buf))!=-1){
output.write(buf,0,numBytesRead);
}
data=output.toByteArray();
output.close();
input.close();
}
catch(FileNotFoundExceptionex1){
ex1.printStackTrace();
}
catch(IOExceptionex1){
ex1.printStackTrace();
}
returndata;
}

另外,如果需要將byte[]存回圖片或轉為String,則:

//byte數組到圖片
publicvoidbyte2image(byte[]data,Stringpath){
if(data.length<3||path.equals(""))return;
try{
=newFileImageOutputStream(newFile(path));
imageOutput.write(data,0,data.length);
imageOutput.close();
System.out.println("MakePicturesuccess,Pleasefindimagein"+path);
}catch(Exceptionex){
System.out.println("Exception:"+ex);
ex.printStackTrace();
}
}
//byte數組到16進制字元串
publicStringbyte2string(byte[]data){
if(data==null||data.length<=1)return"0x";
if(data.length>200000)return"0x";
StringBuffersb=newStringBuffer();
intbuf[]=newint[data.length];
//byte數組轉化成十進制
for(intk=0;k<data.length;k++){
buf[k]=data[k]<0?(data[k]+256):(data[k]);
}
//十進制轉化成十六進制
for(intk=0;k<buf.length;k++){
if(buf[k]<16)sb.append("0"+Integer.toHexString(buf[k]));
elsesb.append(Integer.toHexString(buf[k]));
}
return"0x"+sb.toString().toUpperCase();
}

㈢ Java如何把二進制數據轉換成圖片

直接上代碼了,應該看得懂吧,str字元串的內容就是你XML里的內容。生成的a.jpeg我也給上傳上來了,是個報表噢

importjava.io.File;

importjava.io.FileOutputStream;

importjava.io.IOException;

importsun.misc.BASE64Decoder;

publicclassCodeTest{

publicstaticvoidmain(String[]args)throwsIOException{

Stringstr="hkMyt4m4VkJtstbv8A/1J9hYIAKg6IR2bHx8e+FcGtpiG8drKZ1/+3cqZRLaeZfaKJbanQ6GhoPOMM+mOReiXK9GrEcmdeM6oM6enpq+ml7+fovmZKLeub+mkKvqaM5qztq2treylNLetoc+/25M/S5Tse+rtnGVuy+bW1tvXx93Ywt7azcLk6dzc3PHcp/fkbOPdy9/f3+Dg4O7pjebi0+fj0+Tk5O3pz+3n2uzwrvjpxOrq6vDr2e/v3/Lu3+v2yvLv4O310/Pw3/Pw4PTx4PPx4/Dx8fTy4fXy4fXy5Pbz4vbz4/r3x//n25/n35vr36Pn46Pr46Pf3+Pr56fz46vj49/v56vj4+Pv66vz66fz66vz66/z67Pn+3/366v366/z77P376/377Pr6+v787f///ywAAAAAgwBVAAAI/wD////20XI9ivEunbzVqQaEa/eoDDhmhRckrDEuXf/ilXM+CHixI0Bv50cF2LYx5Ab+++A9/v/c/vC5xdOfcZsEwB7ASZXib3okbzc9T/++++BdrqnlQO5B+WopOYnqaFTihoqpndCqSeZE8H/+6u+//tuch/SfVUVK4XBXvsQ81O+1Cr515f1BNNvCmQVR7Ge+aDz+Z7pMGTzHHyHCMvm4/BHb33Xpu/WPL0TT//++PQbB/PIhGM/vstwCx/4AAgb/B2pY/3L3vxIJzrlOc9/0JueA4l3M4kZzX+wOV/9nmc+mw2PfnTj4MM+aJ/j6e6EKEyhClfIQq4FBAA7";

BASE64Decoderdecoder=newBASE64Decoder();

byte[]bytes=decoder.decodeBuffer(str);

Filefile=newFile("D:/a.jpeg");

FileOutputStreamfos=newFileOutputStream(file);

fos.write(bytes);

fos.flush();

fos.close();

}

}

閱讀全文

與java二進制圖片顯示圖片相關的資料

熱點內容
程序員節西安市 瀏覽:687
單片機的閃燈 瀏覽:965
phpmime映射 瀏覽:583
關鍵特徵分析python 瀏覽:992
linux粘滯位 瀏覽:137
安卓如何把備忘錄調成黑色 瀏覽:862
dhcp伺服器手動分配ip地址 瀏覽:308
阿里雲國內伺服器數量 瀏覽:455
壓縮機安全裕度 瀏覽:226
android交叉編譯環境 瀏覽:775
美團雲伺服器質量怎麼樣 瀏覽:396
蘋果手機游戲解壓包怎麼安裝 瀏覽:446
java程序員面試流程 瀏覽:681
遼寧圖片加密軟體地址 瀏覽:932
程序員35後應該學些啥技術 瀏覽:724
蘋果怎麼把app還原成ipa包 瀏覽:358
天正怎麼分解加密圖紙 瀏覽:829
你喜歡的大胸部電影 瀏覽:755
飛盧破解版網址 瀏覽:632
怎麼在米家app裡面找到小愛同學 瀏覽:208