全文详见个人独立博客:Java NIO框架Netty教程(十五)-利用Netty进行文件传输 Java NIO框架Netty教程(十五)-利用Netty进行文件传输如果您持续关注OneCoder,您可能会问,在《Java NIO框架Netty教程(十四)- Netty中OIO模型(对比NIO)》中不是说下节介绍的是,NIO和OIO中的worker处理方式吗。这个一定会有的,只是在研究的过程中,OneCoder发现了之前遗留的文件传输的代码,所以决定先完成它。 其实,Netty的样例代码中也提供了文件上传下载的代码样例,不过太过复杂,还包括了Http请求的解析等,对OneCoder来说,容易迷惑那些才是文件传输的关键部分。所以OneCoder决定根据自己去写一个样例,这个理解就是在最开始提到的,Netty的传输是基于流的,我们把文件流化应该就可以传递了。于是有了以下的代码: /** * 文件传输接收端,没有处理文件发送结束关闭流的情景 * * @author lihzh * @alia OneCoder * @blog http://www.coderli.com */ public class FileServerHandler extends SimpleChannelHandler { private File file = new File("F:/2.txt"); private FileOutputStream fos; public FileServerHandler() { try { if (!file.exists()) { file.createNewFile(); } else { file.delete(); file.createNewFile(); } fos = new FileOutputStream(file); } catch (IOException e) { e.printStackTrace(); } } @Overr