java连续发送和接收几张图片字节流
发送端部分代码如下:OutputStreamout_stream_send=CliSocket.getOutputStream();for(intnum=0;num<3;...
发送端部分代码如下:
OutputStream out_stream_send = CliSocket.getOutputStream();
for(int num=0;num<3;num++)
{
//for循环三次,分别打开Images文件夹下三张图片:0.JPG 1.JPG 2.JPG
FileInputStream file_in_stream = new FileInputStream(new File(".\\Images\\"+num+".JPG"));
byte[] b = new byte[1024];
while(file_in_stream.read(b)>0)
{
out_stream_send.write(b);
System.out.println("b is:"+b);
}
}
接收端部分代码如下:
InputStream in_stream2 = CliSocket.getInputStream();
for(int i=0;i<3;i++)
{
//for循环循环三次,分别将接收到的图片字节流保存在C盘下文件名为0.JPG 1.JPG 2.JPG
FileOutputStream file_out_stream = new FileOutputStream(new File("C:\\"+i+".JPG"));
byte[] b_image = new byte[1024];
while(in_stream2.read(b_image)>0)
{
file_out_stream.write(b_image);
}
}
运行的结果是C盘下0.JPG的图片是三张图片相加的总大小.是不是要在中间加一个特殊字节区分开?
恩,问题我解决啦.就是在发送端发送每一张图片后加上结束标志位.然后在接收端接收到结束标志位时便开始下一张图片的接收. 展开
OutputStream out_stream_send = CliSocket.getOutputStream();
for(int num=0;num<3;num++)
{
//for循环三次,分别打开Images文件夹下三张图片:0.JPG 1.JPG 2.JPG
FileInputStream file_in_stream = new FileInputStream(new File(".\\Images\\"+num+".JPG"));
byte[] b = new byte[1024];
while(file_in_stream.read(b)>0)
{
out_stream_send.write(b);
System.out.println("b is:"+b);
}
}
接收端部分代码如下:
InputStream in_stream2 = CliSocket.getInputStream();
for(int i=0;i<3;i++)
{
//for循环循环三次,分别将接收到的图片字节流保存在C盘下文件名为0.JPG 1.JPG 2.JPG
FileOutputStream file_out_stream = new FileOutputStream(new File("C:\\"+i+".JPG"));
byte[] b_image = new byte[1024];
while(in_stream2.read(b_image)>0)
{
file_out_stream.write(b_image);
}
}
运行的结果是C盘下0.JPG的图片是三张图片相加的总大小.是不是要在中间加一个特殊字节区分开?
恩,问题我解决啦.就是在发送端发送每一张图片后加上结束标志位.然后在接收端接收到结束标志位时便开始下一张图片的接收. 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |