Java复制文件的4种方式

  1. 使用FileStreams复制
    @SneakyThrows
    public static void copyFileByFileStreams(File source, File dest){
        try (InputStream inputStream = new FileInputStream(source);
             OutputStream outputStream = new FileOutputStream(dest);) {
            byte[] buf = new byte[1024];
            int buffRead;
            while ((buffRead = inputStream.read(buf)) > 0) {
                outputStream.write(buf, 0, buffRead);
            }
        }
    }

  1. 使用FileChannel复制
    @SneakyThrows
    public static void copyFileByFileChannel(File source, File dest) {
        try (FileChannel inputChannel = new FileInputStream(source).getChannel();
             FileChannel outputChannel = new FileOutputStream(dest).getChannel();) {
            outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
        }
    }
  1. 使用Commons IO复制
 @SneakyThrows
    public static void copyFileUsingJava7Files(File source, File dest) {
        Files.copy(source.toPath(), dest.toPath());
    }
  1. 使用Java7的Files类复制
    @SneakyThrows
    private static void copyFileUsingApacheCommonsIO(File source, File dest)  {
        FileUtils.copyFile(source, dest);
    }

你可能感兴趣的:(JAVA)