导航:首页 > 编程语言 > 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二进制图片显示图片相关的资料

热点内容
51单片机指令用背吗 浏览:936
unityai算法 浏览:834
我的世界ice服务器如何打开pvp 浏览:975
c语言编程如何做标记 浏览:884
python数据分析实战pdf 浏览:985
u盘插入文件夹 浏览:918
华为amd云服务器 浏览:497
汉化编程卡是什么意思 浏览:128
python学习pdf 浏览:315
祝绪丹程序员那么可爱拍吻戏 浏览:200
asp源码会员消费系统 浏览:115
java反射设置 浏览:154
python一行文 浏览:441
排序算法优缺点 浏览:565
恶搞加密文件pdf 浏览:674
gif怎么压缩图片大小 浏览:219
命令选择当前不可用 浏览:158
欧几里得算法如何求逆元 浏览:506
男中学生上课解压神器 浏览:373
加密狗拔掉之后怎么办 浏览:27