在 Java 中复制文件的最快方法

2024-06-18

在 Java 中复制大量文件的最快方法是什么?到目前为止我已经使用了文件流和nio。总体来说流似乎比 nio 更快。到目前为止,你有哪些经历?


http://www.baptiste-wicht.com/2010/08/file-copy-in-java-benchmark/ http://www.baptiste-wicht.com/2010/08/file-copy-in-java-benchmark/可能会给你答案。

对于基准测试,我使用不同的文件进行了测试。

  1. 小文件 (5 KB)
  2. 中型文件 (50 KB)
  3. 大文件 (5 MB)
  4. 胖文件 (50 MB)
  5. 和一个巨大的文件(1.3 GB)仅二进制

我首先使用文本文件进行测试,然后使用二进制文件。我使用三种模式进行了测试:

  1. 在同一个硬盘上。它是一个 250 GB 的 IDE 硬盘,带有 8 MB 缓存。它的格式为 Ext4。
  2. 两个磁盘之间。我使用了第一个磁盘和另一个具有 16 MB 缓存的 250 GB SATA 硬盘。它的格式为 Ext4。
  3. 两个磁盘之间。我使用了第一个磁盘和另一个具有 32 MB 缓存的 1 TB SATA 硬盘。它使用 NTFS 格式化。

我使用了基准框架,此处描述 http://www.baptiste-wicht.com/2010/04/write-corrects-benchmarks/,对所有方法进行测试。测试是在我的个人计算机(Ubuntu 10.04 64 位、Intel Core 2 Duo 3.16 GHz、6 Go DDR2、SATA 硬盘)上进行的。使用的Java版本是Java 7 64位虚拟机...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中复制文件的最快方法 的相关文章

随机推荐

  • 如何在c#中加载私有ecdsa密钥es256?

    我使用以下命令生成 ES256 私钥和公钥 创建私钥 openssl ecparam genkey name prime256v1 noout out private pem 创建公钥 openssl ec in private pem p
  • 缺少 1 个必需的位置参数 [重复]

    这个问题在这里已经有答案了 class classname def createname self name self name name def displayname self return self name def saying s
  • GitHub Pages (github.io) doxygen 生成的页面未找到 (404)

    我不明白为什么找不到 doxygen 生成的页面 404 它在Github存储库中的路径是https github com AubinMahe AubinMahe github io blob master doxygen html dd
  • ASP.NET Core 应用程序生命周期

    目前是否有关于生命周期的 ASP NET Core 文档 我希望能够在正确的点融入生命周期 它与现有的 ASP NET MVC 5 生命周期相似吗 http www asp azureedge net v 2016 09 01 001 me
  • 如何在 RxSwift 中延迟地从 Collection 中一件一件地发出项目

    我想从anyCollection 创建一个Observable 它会在延迟后一一发出每个元素 另外 在下一步我想对项目 模型 执行一些更新 例如 喂所有狗 一只一只 间隔 5 秒 class Dog var name String var
  • 覆盖二维平面上给定点的最小圆

    问题 覆盖 2D 平面上给定 N 个点的圆的最小可能直径是多少 解决这个问题最有效的算法是什么 它是如何工作的 这是最小圆问题 http en wikipedia org wiki Smallest circle problem 请参阅参考
  • 如何在C#中使用谷歌语音识别API?

    我想从 C 获取音频文件并发送到谷歌语音识别 API 以获得 语音到文本 的答案 我的代码是这样的 try byte BA AudioFile GetFile filename HttpWebRequest HWR SpeechToText
  • 在android 10中设置通知操作的背景颜色

    我已经做到了这一点图片链接 https i stack imgur com o0Cel jpg通过关注这篇文章https medium com dcostalloyd90 show incoming voip call notificati
  • 更改所选控件的输入语言

    我的应用程序中有一个文本区域 我想以编程方式单独设置文本区域的输入语言 而不影响其他控件 不幸的是 您的程序无法完成此操作 用户需要使用 Unicode 键盘或输入法编辑器 IME 由于您使用的是 C Net 平台 因此您的程序已经能够处理
  • C 有标准的队列实现吗?

    是否有 C 语言 附带 的队列数据结构实现 或者我必须开发自己的队列数据结构实现 这是一个学校项目 因此我必须使用标准 gcc 安装中存在的东西 或者必须自己实现一个 其他通用数据结构 如链表 堆栈等 又如何呢 尝试这个 Unix 附带了几
  • 为什么 Javascript 中未定义的变量有时会计算为 false,有时会抛出未捕获的 ReferenceError?

    我读过的所有内容都表明 在 Javascript 中 未定义变量的布尔值是 False 我已经使用过这样的代码数百次 if elem 其目的是 如果 elem 未定义 则将执行块中的代码 它通常可以工作 但有时浏览器会抛出一个错误 抱怨未定
  • 无法使用 CLI Firebase auth:import 命令导入用户帐户

    我需要在 Firebase 中导入用户列表以及电子邮件和密码 我正在尝试使用 CLI auth import 命令在 Firebase 中导入用户 https firebase google com docs cli auth import
  • 有没有办法将 SVG 字符串渲染到 Web Worker 中的 OffscreenCanvas?

    我正在开发一个网页 对 SVG 字符串数据进行一些相当繁重的处理 因为这些字符串的大小可能达到 m bs 所以我想将 SVG 的渲染 取决于浏览器 移至工作人员 以避免阻塞 UI 我的问题是 worker 中无法访问 DOM 元素 有没有办
  • 从 MVC 控制器调用 Web API

    我的 MVC 5 项目解决方案中有一个 Web API 控制器 WebAPI 有一个方法可以将特定文件夹中的所有文件作为 Json 列表返回 name file1 zip path c 从我的 HomeController 我想调用这个方法
  • 使用自制程序和安装程序安装 gfortran 是否会产生冲突?

    我正在按照在线教程使用 homebrew 安装一些 Python 模块 其中一个步骤是安装 gfortranbrew install gfortran 后来 我尝试使用另一个第三方安装脚本来安装一些Python模块 之后我意识到该脚本所做的
  • 使用 RSpec 测试导轨金属/机架?

    假设我有一个名为 Preview 的 Metal 类 如何使用 RSpec 进行测试 当我尝试时 require spec helper describe Preview do it should return the posted con
  • GLSurfaceView onDrawFrame 清除行为

    我在使用 GLSurfaceView 时遇到了不同的行为 据我所知 程序有责任清除每帧的缓冲区 颜色和深度 这意味着 如果我不清除缓冲区 我将获得最后一帧的内容 或双缓冲的前一帧 似乎无论在某些设备上如何 缓冲区都会被清除 我在一些测试设备
  • Swift 仅删除字符串中的尾随空格

    SO 中的许多示例都固定两侧 即前导和尾随 我的要求只是关于尾随 我的输入文本是 保持我的左侧 期望的输出 保持我的左侧 当然 这个命令会删除两端 let cleansed messageText trimmingCharacters in
  • IClaimsTransformation 未被调用

    我正在开发 ASP NET Core Web 应用程序 NET 5 0 这是一个 Intranet 应用程序 因此我使用 Windows 身份验证 对于授权 我使用 AspNetCore Identity 中的自定义角色 出于各种原因不想使
  • 在 Java 中复制文件的最快方法

    在 Java 中复制大量文件的最快方法是什么 到目前为止我已经使用了文件流和nio 总体来说流似乎比 nio 更快 到目前为止 你有哪些经历 http www baptiste wicht com 2010 08 file copy in