Java基于Socket文件传输示例

原文:http://www.blogjava.net/sterning/archive/2007/10/13/152508.html
数据丢失:http://topic.csdn.net/u/20100523/21/5a1a055f-af64-4e01-b669-7ff46f20b4ed.html

解决数据丢失的一个办法:当发送端发完数据之后,就应该让接收端告诉发送端“接收完成”,然后接收端先关闭,发送端才关闭,顺序很重要。

最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解。在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度。废话少说,先来看服务器端的程序。

1.服务器端

 

2.socket的Util辅助类

 

3.客户端

 

这就实现了从服务器端向客户端发送文件的过程,当然,反过来,也一样.稍有不同.代码中对跨平台的细节没有实现,有时间或兴趣的朋友可以提供一下.