返回顶部
首页 > 资讯 > 精选 >如何通过JAVA NIO通道传输拷贝文件
  • 134
分享到

如何通过JAVA NIO通道传输拷贝文件

2023-06-17 14:06:01 134人浏览 独家记忆
摘要

这篇文章给大家分享的是有关如何通过JAVA NIO通道传输拷贝文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通过JAVA Nio 通道传输拷贝文件方式一   public&nbs

这篇文章给大家分享的是有关如何通过JAVA NIO通道传输拷贝文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

通过JAVA Nio 通道传输拷贝文件

方式一

   public static void copyFileByChannelTransfer(String sourcePath, String targetPath) {    FileChannel inChannel = null;    FileChannel outChannel = null;    try {      //获取通道      inChannel = FileChannel.open(Paths.get(sourcePath), StandardOpenOption.READ);      outChannel = FileChannel.open(Paths.get(targetPath),StandardOpenOption.WRITE,StandardOpenOption.READ,StandardOpenOption.CREATE);      inChannel.transferTo(0,inChannel.size(),outChannel);    } catch (IOException e) {      e.printStackTrace();    }finally {      //关闭流      try {        if (outChannel != null) {          outChannel.close();        }        if (inChannel != null) {          inChannel.close();        }      } catch (IOException e) {        e.printStackTrace();      }    }  }

方式二

   public static void copyFileByChannelTransfer2(String sourcePath, String targetPath) {    FileInputStream fis = null;    FileOutputStream fos = null;    FileChannel inChannel = null;    FileChannel outChannel = null;    try {      fis = new FileInputStream(sourcePath);      fos = new FileOutputStream(targetPath);      //获取通道      inChannel = fis.getChannel();      outChannel = fos.getChannel();      inChannel.transferTo(0,inChannel.size(),outChannel);    } catch (IOException e) {      e.printStackTrace();    }finally {      //关闭流      try {        if (outChannel != null) {          outChannel.close();        }        if (inChannel != null) {          inChannel.close();        }      } catch (IOException e) {        e.printStackTrace();      }    }  }

使用示例

String source = "e:\\demo\\纵天神帝.txt";    String target = "e:\\demo\\";    long time1 = System.currentTimeMillis();    copyFileByStream(source, target + "1.txt");    System.out.println("通过字节流实现文件的拷贝耗时:" + (System.currentTimeMillis() - time1));    long time2 = System.currentTimeMillis();    copyFileByReaderAndWriter(source, target + "2.txt");    System.out.println("通过字符流实现文件的拷贝耗时:" + (System.currentTimeMillis() - time2));    long time3 = System.currentTimeMillis();    copyFileByBuffered(source, target + "3.txt");    System.out.println("通过字节缓冲流实现文件的拷贝耗时:" + (System.currentTimeMillis() - time3));    long time4 = System.currentTimeMillis();    copyFileByBufferedChar(source, target + "4.txt");    System.out.println("通过字符缓冲流实现文件的拷贝耗时:" + (System.currentTimeMillis() - time4));    long time5 = System.currentTimeMillis();    copyFileByChannel(source, target + "5.txt");    System.out.println("通过JAVA NIO通道(非直接缓冲区)实现文件的拷贝耗时:" + (System.currentTimeMillis() - time5));    long time6 = System.currentTimeMillis();    copyFileByChannelBufferd(source, target + "6.txt");    System.out.println("通过JAVA NIO通道(直接缓冲区)实现文件的拷贝耗时:" + (System.currentTimeMillis() - time6));    long time7 = System.currentTimeMillis();    copyFileByChannelTransfer(source, target + "7.txt");    System.out.println("通过JAVA NIO通道传输实现文件的拷贝耗时:" + (System.currentTimeMillis() - time7));    long time8 = System.currentTimeMillis();    copyFileByChannelTransfer(source, target + "8.txt");    System.out.println("通过JAVA NIO通道传输2实现文件的拷贝耗时:" + (System.currentTimeMillis() - time8));

感谢各位的阅读!关于“如何通过JAVA NIO通道传输拷贝文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何通过JAVA NIO通道传输拷贝文件

本文链接: https://lsjlt.com/news/289643.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何通过JAVA NIO通道传输拷贝文件
    这篇文章给大家分享的是有关如何通过JAVA NIO通道传输拷贝文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通过JAVA NIO 通道传输拷贝文件方式一   public&nbs...
    99+
    2023-06-17
  • 如何通过JAVA NIO直接缓冲区拷贝文件
    这篇文章主要为大家展示了“如何通过JAVA NIO直接缓冲区拷贝文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何通过JAVA NIO直接缓冲区拷贝文件”这篇文章吧。通过JAVA NIO 直...
    99+
    2023-06-17
  • 如何通过JAVA NIO非直接缓冲区拷贝文件
    小编给大家分享一下如何通过JAVA NIO非直接缓冲区拷贝文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过JAVA NIO 非直接缓冲区拷贝文件 ...
    99+
    2023-06-17
  • java如何通过字符流实现文件拷贝
    这篇文章将为大家详细讲解有关java如何通过字符流实现文件拷贝,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通过字符流实现文件拷贝使用字符流只能拷贝文本文件    ...
    99+
    2023-06-17
  • java如何通过字符缓冲流拷贝文件
    这篇文章主要介绍java如何通过字符缓冲流拷贝文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!通过字符缓冲流拷贝文件字符缓冲流只能读取文本文件   public static...
    99+
    2023-06-17
  • java如何通过字节流实现文件的拷贝
    小编给大家分享一下java如何通过字节流实现文件的拷贝,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过字节流实现文件的拷贝   p...
    99+
    2023-06-17
  • java如何通过字节缓冲流实现文件拷贝
    小编给大家分享一下java如何通过字节缓冲流实现文件拷贝,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过字节缓冲流实现文件拷贝  publi...
    99+
    2023-06-17
  • 华为OD机试 - 通过软盘拷贝文件(Java & JS & Python)
    题目描述 有一名科学家想要从一台古董电脑中拷贝文件到自己的电脑中加以研究。 但此电脑除了有一个3.5寸软盘驱动器以外,没有任何手段可以将文件持贝出来,而且只有一张软盘可以使用。 因此这一张软盘是唯一可以用来拷贝文件的载体。 科学家想要尽可能...
    99+
    2023-09-03
    算法 华为机试 Java JavaScript Python
  • windows中U盘传输文件过大无法拷贝如何解决
    这篇文章主要介绍了windows中U盘传输文件过大无法拷贝如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows中U盘传输文件过大无法拷贝如何解决文章都会有所收获,下面我们一起来看看吧。U盘传输文...
    99+
    2023-07-01
  • 如何在Java中通过二维码实现文件传输?
    二维码作为一种二维条码,近年来得到了广泛的应用。它不仅可以用于扫码支付、快递单号等场景,还可以用于文件传输。在本文中,我们将介绍如何在Java中通过二维码实现文件传输。 二维码的生成 在Java中,我们可以使用ZXing库来生成二维码...
    99+
    2023-06-24
    文件 二维码 shell
  • PHP 和 JavaScript:如何通过文件传输数据?
    PHP 和 JavaScript 是两种常用的编程语言,它们能够实现各种各样的功能。本文将介绍如何通过文件传输数据,让 PHP 和 JavaScript 之间进行数据交互。 一、通过 PHP 上传文件 在 PHP 中,使用 $_FILES...
    99+
    2023-07-02
    spring 文件 javascript
  • 如何在 12.2.0.1 通过 dblink 在线拷贝 PDB
    参考,如何在 12.2.0.1 通过 dblink 在线拷贝  PDB (文档 ID 24726-43.1) 对于数据量小的库而言,这个功能简单,操作方便,可以一试。 ...
    99+
    2024-04-02
  • python通过sftp远程传输文件
    python提供了一个第三方模块paramiko,通过这个模块可以实现两台机器之间的网络连接,sftp是paramiko的一个方法,使用sftp可以在两台机器之间互相传输拷贝文件。然而paramiko的sftp只能拷贝文件,...
    99+
    2023-01-31
    传输文件 python sftp
  • 如何通过阿里云服务器传输文件
    通过阿里云服务器传输文件是一种常见的网络操作,无论是企业还是个人,都需要经常进行文件传输。本文将详细介绍如何通过阿里云服务器传输文件。 一、什么是阿里云服务器阿里云服务器是阿里云提供的一种虚拟化计算服务,能够为用户提供弹性扩展的计算能力,满...
    99+
    2023-11-13
    阿里 传输文件 服务器
  • python如何通过http上传文件
    这篇文章主要介绍“python如何通过http上传文件”,在日常操作中,相信很多人在python如何通过http上传文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python如何通过http上传文件”的疑...
    99+
    2023-06-20
  • PHP如何通过CURL上传文件
    PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变量$_FILES中取到相应的上传文件信息...
    99+
    2023-09-01
    php 服务器 开发语言
  • 如何通过find命令寻找文件并拷贝到一个指定目录
    小编给大家分享一下如何通过find命令寻找文件并拷贝到一个指定目录,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!将通过find命令找到的文件拷贝到一个新的目录中 有这样的一个需求,需要将一部分符合条件的文件从一个目录拷贝到...
    99+
    2023-06-13
  • java如何实现文件拷贝功能
    在Java中,可以使用FileInputStream和FileOutputStream来实现文件拷贝功能。首先,可以使用FileIn...
    99+
    2023-08-11
    java
  • 如何通过FTP将文件传输到阿里云服务器
    简介: 这篇文章将详细介绍如何使用FTP将文件传输到阿里云服务器,包括步骤、注意事项和常见问题解答。 正文:FTP(File TransferProtocol)是一种在Internet上传输文件的标准协议。通过FTP,用户可以将文件从一台计...
    99+
    2024-01-26
    阿里 文件传输 服务器
  • java中NIO通道和缓冲区是如何工作的
    这篇文章将为大家详细讲解有关java中NIO通道和缓冲区是如何工作的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通道 和 缓冲区 是 NIO 中的核心对象,几乎在每一个 I/O 操作中都要使用它们。通道...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作