`
MouseLearnJava
  • 浏览: 466372 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

四种复制文件的方法

    博客分类:
  • Java
阅读更多

尽管Java提供了一个类ava.io.File用于文件的操作,但是该类不包括文件的复制操作。但是,复制文件是平时文件操作中一个重要的功能,本文给出四种比较流行的文件复制方法。

1. 使用FileStream

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 java.nio.channels.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. 使用Apache Commons IO

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

 

4. 使用Java 7 Files Files

 

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

 

更多的例子请参考:http://thecodesample.com/

0
0
分享到:
评论

相关推荐

    java复制拷贝文本文件的四种方法

    用java复制拷贝文本文件的不同方法和比较; 字节流,字符流等等。

    winform 文件操作 WM6.0 c# 遍历文件夹、复制文件、删除文件、复制文件内容

    四、复制文件内容 复制文件内容通常涉及到读写操作,可以使用`FileStream`和`BinaryReader`/`BinaryWriter`来实现: ```csharp using System.IO; void CopyFileContent(string sourceFilePath, string ...

    文件复制算法 文件复制算法

    在日常操作中,我们经常需要复制文件从一个位置到另一个位置,这背后就涉及到一系列的复制策略和技术。本文将深入探讨文件复制算法的原理、类型和优化方法。 一、基本原理 文件复制算法的基本思想是从源文件读取...

    java复制文件的4种方式

    ### Java复制文件的四种方式详解 #### 概述 在Java开发过程中,文件操作是一项基本且重要的任务。其中,文件复制是经常需要用到的功能之一。尽管Java标准库并未直接提供一个简单的方法来复制文件,但开发者可以...

    C++实现多线程文件复制.docx

    多线程文件复制是指在文件复制过程中,使用多个线程同时复制文件,以提高复制速度。这种技术可以充分利用多核CPU的计算能力,提高文件复制的效率。 二、C++实现多线程文件复制的方法 在C++中,可以使用...

    C#复制文件到指定文件夹

    C#复制文件到指定文件夹是指使用C#语言将文件从一个目录下复制到另一个目录下,以下是四种不同的方法: 首先,我们可以使用Process类来调用DOS命令来实现文件复制。通过使用Process类,我们可以启动一个新的命令行...

    以文件流的方式复制文件

    四、复制文件的优点 使用文件流复制文件的优点包括: * 高效:文件流可以快速地读取和写入文件内容,提高了文件复制的效率。 * 方便:文件流可以方便地实现文件复制,减少了编程的难度。 * 灵活:文件流可以处理...

    java文件复制,实现文件的复制

    当需要复制一个完整的文件夹时,除了复制文件之外,还需要考虑文件夹的创建和递归复制。下面是一段示例代码: ```java private static void copyFolder(String oldPath, String newPath) { try { (new File...

    Excel-VBA操作文件四大方法

    FSO提供了丰富的文件和文件夹操作功能,包括创建、删除文件/文件夹,复制文件,读取和写入文件内容等。为了使用FSO对象,需要先创建一个FSO对象实例,然后调用其相关方法。例如: ```vb Set fso = CreateObject(...

    java复制文件代码

    根据提供的文件标题、描述、标签以及部分内容,我们可以总结出与“Java复制文件代码”相关的重要知识点。虽然提供的代码片段存在一些未完成的部分和注释掉的代码,但是我们仍然可以从中提取有价值的信息,并且深入...

    io操作复制文件

    三、字节流复制文件 以下是一个使用字节流进行文件复制的简单示例: ```java import java.io.*; public class FileCopy { public static void main(String[] args) { String sourceFilePath = "source.txt"; ...

    新建、删除、复制、移动文件

    File类提供了多种文件操作方法,包括新建文件、删除文件、复制文件、移动文件等。而输入/输出流则提供了读取和写入文件的功能。 七、总结 文件操作是计算机科学和信息技术中的一种基本操作,涉及到文件的创建、...

    U盘无法复制文件解决方法 无法复制 参数不正确.docx

    无法复制文件的问题多发于向U盘、手机等移动存储器中复制文件时或复制过程中,出现类似情况可能是以下四种原因造成的: 第一种:移动磁盘没有足够的空间 * 原因:移动磁盘的实际容量与标称容量不符,导致无法存储...

    远程或本地文件复制

    1. **路径写法**:在复制文件时,确保路径的正确性至关重要。路径必须符合操作系统的规范,例如在Windows系统中使用`\`作为目录分隔符。 2. **权限问题**:复制过程中可能会遇到权限问题,特别是当尝试复制受保护的...

    QT实现文件和文件夹的复制粘贴.pdf

    最后,使用`Q***`方法尝试复制文件,复制成功则返回`true`,否则返回`false`。 ### 文件夹复制 文件夹复制的实现则更加复杂,这里定义了一个名为`qCopyDirectory`的函数,它负责递归地复制文件夹中的所有内容,...

    C#复制文件夹(及文件夹下所有子文件夹和文件)

    这需要额外记录总的文件数量和已复制文件的数量。 ##### 3.2 具体实现 可以在`CopyDirectory`方法中增加计数器,并在复制每个文件后更新进度条。 ```csharp public static void CopyDirectory(string sourcePath,...

    delphi文件复制

    1. **权限问题**:在复制文件时,需要确保当前程序具有足够的权限访问和写入源文件及目标文件所在的位置。 2. **异常处理**:在实际操作过程中可能会遇到各种异常情况,例如磁盘空间不足、文件被占用等,因此在编写...

    Java文件夹复制(远程复制(网络传输),用于远程备份文件)

    Java文件夹复制功能是通过编程实现的,主要涉及到文件操作和网络通信两个核心知识点。这里有两个关键类:`FileSelection` 和 `BackupClient`。`FileSelection` 类用于选择和组织待复制的文件,而 `BackupClient` 类...

    java 复制文件 io流操作

    在这个主题中,我们将深入探讨如何使用Java的IO流进行文件复制,重点讨论四个关键函数:`Reader`, `Writer`, `InputStream`, 和 `OutputStream`。 1. **Reader与Writer**: - **Reader** 是字符输入流的抽象类,...

Global site tag (gtag.js) - Google Analytics