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 NIO 利用通道完成文件复制(MappedByteBuffer)