java java复制文件的4种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java java复制文件的4种方式相关的知识,希望对你有一定的参考价值。

// 1. 使用 FileStreams 复制

private static void copyFileUsingFileStreams(File source, File dest)
        throws IOException {    
    InputStream input = null;    
    OutputStream output = null;    
    try {
           input = new FileInputStream(source);
           output = new FileOutputStream(dest);        
           byte[] buf = new byte[1024];        
           int bytesRead;        
           while ((bytesRead = input.read(buf)) > 0) {
               output.write(buf, 0, bytesRead);
           }
    } finally {
        input.close();
        output.close();
    }
}

// 2. 使用 FileChannel 复制

private static void copyFileUsingFileChannels(File source, File dest) throws IOException {    
        FileChannel inputChannel = null;    
        FileChannel outputChannel = null;    
    try {
        inputChannel = new FileInputStream(source).getChannel();
        outputChannel = new FileOutputStream(dest).getChannel();
        outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
    } finally {
        inputChannel.close();
        outputChannel.close();
    }
}

// 3. 使用 Commons IO 复制,这个是 Apache Common FileUtils类

private static void copyFileUsingApacheCommonsIO(File source, File dest)
        throws IOException {
    FileUtils.copyFile(source, dest);
}

// 4. 使用 Java7 的 Files 类复制

private static void copyFileUsingJava7Files(File source, File dest)
        throws IOException {    
        Files.copy(source.toPath(), dest.toPath());
}


// 比较,大文件中推荐使用 FileChannel 方式,即第二种方法
// 其次为 Java 7 中 Files 提供的方法
// 再其次为 Apache 提供的方法
// 最后....

以上是关于java java复制文件的4种方式的主要内容,如果未能解决你的问题,请参考以下文章

java中文件复制的4种方式

Java 文件复制

java 21 - 8 复制文本文件的5种方式

java如何拷贝文件到另一个目录下

java中数组复制的两种方式

Java创建对象的4种方式?