Copying Files with FileChannel.transferTo() - Java File Path IO

Java examples for File Path IO:File Channel

Introduction

FileChannel.transferTo() transfers bytes from one channel's file to the given writable byte channel.

Demo Code

import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.EnumSet;

public class Main {
  public static void main(String[] args) {
    Path copy_from = Paths
        .get("C:/folder1/folder2/folder3/videos/test.mp4");
    Path copy_to = Paths.get("C:/test.mp4");
    int bufferSizeKB = 4;

    System.out.println("Using FileChannel.transferTo method ...");
    try (FileChannel fileChannel_from = (FileChannel.open(copy_from,
        EnumSet.of(StandardOpenOption.READ)));
        FileChannel fileChannel_to = (FileChannel
            .open(copy_to, EnumSet.of(StandardOpenOption.CREATE_NEW,
                StandardOpenOption.WRITE)))) {

      fileChannel_from.transferTo(0L, fileChannel_from.size(), fileChannel_to);

    } catch (IOException ex) {
      System.err.println(ex);/*from   ww w  .java  2s  . c om*/
    }
  }
}

Result


Related Tutorials