package com.nio; import java.io.IOException; import java.nio.channels.FileChannel; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import static java.nio.channels.FileChannel.open; /** * 通道之间的数据传输,这种使用的也是直接缓存区的方式 */ public class TestChannel3 { public static void main(String[] args) throws IOException { //通道之间的数据传输(直接缓存区) FileChannel inChannel = FileChannel.open(Paths.get("001.jpg"), StandardOpenOption.READ); FileChannel outChannel = FileChannel.open(Paths.get("002.jpg"), StandardOpenOption.WRITE,StandardOpenOption.READ, StandardOpenOption.CREATE); //下面的这两种方式效果是一样的 transferTo transferFrom // inChannel.transferTo(0,inChannel.size(),outChannel); outChannel.transferFrom(inChannel,0,inChannel.size()); inChannel.close(); outChannel.close(); } }