java socket 网络传输文件使网络使用率最大化

局域网传输文件,如何使网络使用率最大化,主要问题是在客户端接收数据写入磁盘时会影响传输效率,有没有好的办法解决呢?

1)文件分片并使用多线程传输,文件传输前要预先在磁盘分配好文件所需空间
2)为了提高传输效率,客户端建立数据的内存缓冲区,针对每一个文件片的传输,客户端要启一个线程负载下载到缓冲区,再启一线程从缓冲区读数据写磁盘。

多线程,边传输数据边写入文件