在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
异常。