如何将输入流BufferedInputStream转发给输出流BufferedOutputStream

坏小子27 2011-12-08 10:11:28
求指教!
将输入流BufferedInputStream转发给输出流BufferedOutputStream目的是为了实现从客户端A发送一图片至服务器,再由服务器转发给客户端B。
客户端A的发送的代码:

FileInputStream inputfile = new FileInputStream(new File("D:/11.jpg"));// 输入流 用来读取磁盘文件
BufferedOutputStream outfile = new BufferedOutputStream(socket.getOutputStream());
byte[] buffer = new byte[8192];// 字节数组 存放读取的文件的数据构造方法
int i =inputfile.read(buffer);
while (i!= -1) {
outfile.write(buffer,0,i);
outfile.flush();
i=inputfile.read(buffer);
}
outfile.flush();
inputfile.close();
outfile.close();

问题:如何才能够实现服务器的转发图片的功能?或说如何才能够在服务器端实现将从client.socket.getInputStream()接收到的输入流转发给客户端B,从而使得B能正常接收图片。
我本来的想法是在服务器端那里实现从客户端A接收到输入流BufferedInputStream,然后再转换为输出流BufferedOutputStream,并转发给客户端B的。但是不懂是不是这种做法本来就不行还是咋地,始终找不着解决办法。
当然若是哪位大侠有更好的处理办法就再好不过了,,,,,

客户端B实现接收图片的代码:
BufferedInputStream infile = new BufferedInputStream(socket.getInputStream());
byte[] b = new byte[1024];
int i = infile.read(b);
FileOutputStream fos = new FileOutputStream(new File("e://Winter.jpg"));
try {
while (true) {
fos.write(b, 0, i);
fos.flush();
i = infile.read(b);
}
} catch (SocketException se) { }

先谢谢了!!!
...全文
677 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
坏小子27 2011-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuqing1019 的回复:]

你可以选择数据报的形式发送 直接用DatagramPacket 发送过去
[/Quote]
问题解决了,,,,,,
在服务器端设置代码:
BufferedInputStream infile = new BufferedInputStream(client.socket.getInputStream());   
BufferedOutputStream outfile = new BufferedOutputStream(node.socket.getOutputStream());
byte[] b = new byte[1024];
int i = infile.read(b);
// FileOutputStream fos = new FileOutputStream(new File("e://Winter.jpg"));
try {
while (i!=-1) {
outfile.write(b, 0, i);
outfile.flush();
i = infile.read(b);
}
outfile.flush();
} catch (SocketException se) {
System.out.println("文件接受完毕");
}
Andro 2011-12-09
  • 打赏
  • 举报
回复
你可以选择数据报的形式发送 直接用DatagramPacket 发送过去

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧