在Java中,transferTo
是FileChannel
类的一个方法,用于将文件通道中的数据直接传输到另一个文件通道中。以下是使用transferTo
方法的示例代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
public class FileTransferExample {
public static void main(String[] args) {
try (FileInputStream in = new FileInputStream("source.txt");
FileOutputStream out = new FileOutputStream("destination.txt")) {
FileChannel inChannel = in.getChannel();
FileChannel outChannel = out.getChannel();
long transferred = inChannel.transferTo(0, inChannel.size(), outChannel);
System.out.println("Transferred " + transferred + " bytes");
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的示例中,首先创建一个输入文件流和一个输出文件流,然后分别获取它们的文件通道。接下来,调用transferTo
方法将输入文件通道中的数据直接传输到输出文件通道中,并返回传输的字节数。最后,在控制台打印出传输的字节数。
需要注意的是,在使用transferTo
方法时,需要确保两个文件通道都处于可读写状态,并且要注意处理可能抛出的IOException
异常。