`

IO文件复制

 
阅读更多

 

使用两种方式复制1.2G文件差异不大,缓冲区设置影响也不大。

ioCopyFile   newIoCopyFile  
缓冲区 时间 缓冲区 时间
1024 49774 1024 36653
2048 42632 2048 35792
4096 41671 4096 32142
8192 34022 8192 38983
16384 36983 16384 36000

   

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class CopyFileTest {
    public static void main(String[] args) throws IOException {
        new CopyFileTest().ioCopyFile("X:\\archive.zip", "X:\\archive2.zip");
        new CopyFileTest().newIoCopyFile("X:\\archive.zip", "X:\\archive2.zip");
    }

    public void newIoCopyFile(String sourcePath, String destPath) throws IOException {
        FileInputStream fi = new FileInputStream(sourcePath);
        FileOutputStream fo = new FileOutputStream(destPath);

        FileChannel inChannel = fi.getChannel();
        FileChannel outChannel = fo.getChannel();

        ByteBuffer buffer = ByteBuffer.allocate(16384);
        while (true) {
            buffer.clear();
            int r = inChannel.read(buffer);
            if (r == -1) {
                break;
            }
            buffer.flip();
            outChannel.write(buffer);
        }
    }

    public void ioCopyFile(String sourcePath, String destPath) throws IOException {
        FileInputStream fi = new FileInputStream(sourcePath);
        FileOutputStream fo = new FileOutputStream(destPath);
        byte b[] = new byte[16384];
        while (fi.read(b) != -1) {
            fo.write(b);
        }
        fi.close();
        fo.close();

    }
}

 

分享到:
评论

相关推荐

    JavaIO文件复制优化-JavaIO优化详解(下载可用)

    JavaIO文件复制优化——JavaIO优化详解(下载可用)。个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。...

    io操作复制文件

    本篇文章将详细讲解如何使用Java的IO流进行文件复制。 一、基本概念 IO流是Java中处理输入输出的基础,分为字节流和字符流两大类。字节流处理原始的8位字节数据,如 FileInputStream 和 FileOutputStream;字符流...

    实例讲述Java IO文件复制

    Java IO 文件复制 Java IO 文件复制是 Java 编程语言中的一种常见操作,通过 IO 流可以实现文件的复制。在 Java 中,IO 流主要分为两大类,分别是字节流和字符流。 字节流主要用于处理二进制文件,如音频、图片、...

    java代码-使用java解决Io文件复制的源代码

    java代码-使用java解决Io文件复制的源代码 ——学习参考资料:仅用于个人学习使用!

    io流复制文本文件图解

    通过“io流复制文本文件图解”,我们不仅可以直观地理解文本文件复制的过程,还能深入掌握Java中字符流的使用方法。这对于任何从事Java开发的人来说都是一个重要的技能点。无论是日常的文件操作,还是复杂的数据处理...

    java 使用IO流实现文件的复制

    总的来说,Java通过IO流提供了多种文件复制的方法,开发者可以根据实际需求选择合适的方式。无论是基础的字节流还是高效的NIO,它们都是Java处理文件操作的重要工具。在实际开发中,理解并掌握这些技术,对于提升...

    标准IO实现文件的复制

    通过C语言用标准IO实现文件打复制;通过C语言用标准IO实现文件打复制;通过C语言用标准IO实现文件打复制;通过C语言用标准IO实现文件打复制;通过C语言用标准IO实现文件打复制;通过C语言用标准IO实现文件打复制;

    JAVA 的IO流的文件复制

    本篇文章将详细讲解如何使用Java的IO流进行文件复制,以及如何实现整个文件夹的复制,并检查复制是否成功。 1. 单个文件复制: 在Java中,我们可以使用`java.io`包中的`FileInputStream`和`FileOutputStream`类来...

    使用IO包复制文件

    其实用IO包复制文件很简单,学过这个的一般都能理解,我上传主要是为了获得积分,供自己下载,希望大家能支持!!!!

    标准io流复制文件

    标准io流复制文件

    IO流三种流方式的文本文件的复制

    下面我们将详细探讨这些流在文本文件复制中的应用。 首先,字节流是Java中最基础的流类型,分为InputStream和OutputStream两个类,它们分别用于处理数据的输入和输出。InputStream用于读取原始的字节数据,而...

    java的IO流实现文件复制20190726.zip

    在这个案例中,我们讨论的主题是如何利用Java的IO流实现文件复制,特别是使用字节流进行操作。字节流是Java IO流的一种类型,它可以处理任何类型的原始数据,因为所有数据在计算机内部最终都会被转化为字节序列。 ...

    java io file 文件复制

    java io file 文件复制,可直接运行。java io file 文件复制,可直接运行。

    文件IO 文件操作 操作文件 标准IO和文件IO

    例如,文件IO可以用来实现文件的复制、剪切、粘贴等操作。 在文件IO中,fopen函数是打开文件的关键函数。它可以将文件打开以便后续的读写操作。fopen函数的原型是: ``` FILE *fopen(const char *path, const char ...

    Java实现文件复制,File文件读取,写入,IO流的读取写入

    在Java编程语言中,文件操作是一项基础且至关...以上就是关于"Java实现文件复制,File文件读取,写入,IO流的读取写入"的主要知识点。通过理解并熟练应用这些概念和方法,开发者可以有效地处理Java环境中的文件操作。

    基于java的开发源码-二进制IO类与文件复制操作实例.zip

    基于java的开发源码-二进制IO类与文件复制操作实例.zip 基于java的开发源码-二进制IO类与文件复制操作实例.zip 基于java的开发源码-二进制IO类与文件复制操作实例.zip 基于java的开发源码-二进制IO类与文件复制操作...

    java 复制文件 io流操作

    在Java编程语言中,文件复制是一项常见的任务,主要通过IO(Input/Output)流来实现。IO流提供了从一个源读取数据并将其写入另一个目的地的机制。在这个主题中,我们将深入探讨如何使用Java的IO流进行文件复制,重点...

    Java IO文件操作类与复制文件实例.rar

    Java IO文件操作类与复制文件实例,有关文本编辑、FileWriter文件写入、FileReade文件读娶DataStream文件数据流、BufferedReader文件暂存器、FileViewer文件浏览器、复制文件Copy等方面的操作要领,仅供学习参考。

    fileupload commons-io上传文件

    Commons IO提供了一些底层的IO操作支持,如读写文件、复制流等,而Commons FileUpload则专注于解析上传请求中的文件数据。 标签"fileupload commons io 上传文件"进一步强调了这两个库在文件上传中的关键作用。其中...

Global site tag (gtag.js) - Google Analytics