java使用FileChannel的transferTo方法拷贝大于2G文件

简介: java使用FileChannel的transferTo方法拷贝大于2G文件

一、原始文件位置及大小

二、代码

import lombok.extern.slf4j.Slf4j;
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
 
@Slf4j
public class TestByteBufferTransferTO {
    public static void main(String[] args) {
        try (FileChannel from = new FileInputStream("C:\\Users\\lets01\\Downloads\\CentOS-8.3.2011-x86_64-dvd1.iso").getChannel();
             FileChannel to = new FileOutputStream("centos.iso").getChannel()
        ) {
            long size = from.size();
            for (long left = size; left > 0; ) {
                log.info("position:{},left:{}", size - left, left);
                left -= from.transferTo((size - left), left, to);
            }
        } catch (IOException e) {
            log.debug("e:{}", e);
        }
    }
}

三、执行过程及结果

 

相关文章
|
3天前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
21 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
3天前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
17 1
|
3天前
|
Java
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。
10 2
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
|
1天前
|
安全 Java API
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
12 4
|
3天前
|
安全 Java
java调用方法
java调用方法
17 4
|
1天前
|
Java
Java-FileInputStream和FileOutputStream的使用,txt文件及图片文件的拷贝
这篇文章介绍了Java中FileInputStream和FileOutputStream的使用,包括如何读取和写入txt文件以及如何拷贝图片文件。
Java-FileInputStream和FileOutputStream的使用,txt文件及图片文件的拷贝
|
4天前
|
Java 索引
java基础扫盲-String类常用的方法
java基础扫盲-String类常用的方法
|
安全 Java
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(下)
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(下)
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(下)
|
存储 缓存 Java
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(中)
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(中)
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(中)
|
存储 缓存 Java
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(上)
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(上)
Java 堆外内存、零拷贝、直接内存以及针对于NIO中的FileChannel的思考(上)