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