nio通道通信实现的文件复制

Posted kill-9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nio通道通信实现的文件复制相关的知识,希望对你有一定的参考价值。

 1 package edzy.nio;
 2 
 3 import org.junit.Test;
 4 
 5 import java.io.FileInputStream;
 6 import java.io.FileOutputStream;
 7 import java.io.IOException;
 8 import java.nio.ByteBuffer;
 9 import java.nio.MappedByteBuffer;
10 import java.nio.channels.FileChannel;
11 import java.nio.file.Paths;
12 import java.nio.file.StandardOpenOption;
13 
14 public class Channel {
15  @Test
16     public void transfer(){
17         FileChannel in = null;
18         FileChannel out = null;
19         try {
20             in = FileChannel.open(Paths.get("./src/main/java/edzy/nio/s.jpg"),StandardOpenOption.READ);
21             out = FileChannel.open(Paths.get("./src/main/java/edzy/nio/s5.jpg"),StandardOpenOption.READ,StandardOpenOption.WRITE,StandardOpenOption.CREATE_NEW);
22             //nio通道通信
         out.transferFrom(in,0,in.size()); 23 24 } catch (IOException e) { 25 e.printStackTrace(); 26 }finally { 27 if(out != null){ 28 try { 29 out.close(); 30 } catch (IOException e) { 31 e.printStackTrace(); 32 } 33 } 34 35 if(in != null){ 36 try { 37 in.close(); 38 } catch (IOException e) { 39 e.printStackTrace(); 40 } 41 } 42 43 44 } 45 } 46 47 48 }

 

以上是关于nio通道通信实现的文件复制的主要内容,如果未能解决你的问题,请参考以下文章

Java 实现文件复制的不同方法

Java NIO 利用通道完成文件复制(MappedByteBuffer)

Java NIO 实现文件复制

Java TCP/IP Socket基于NIO的TCP通信(含代码)

NIO实现客户端之间通信

NIO实现客户端之间通信