作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我很想知道是什么让 Robocopy(强大的文件复制)如此快速和强大。任何机构都知道用于 Robocopy 的 API/Algo 是什么?有人学过Robocopy吗?
我问是因为我必须编写一个方法(在 .NET/C# 中),它可以快速且无错误地复制目录/文件......数据量可以达到 15Gb,并且由于各种原因我不能简单地调用 Robocopy。
谢谢!
最佳答案
您可以使用一个简单的 C# 程序来非常接近 Robocopy 的速度,该程序使用标准 FileStream
进行异步读写。带有 64K 缓冲区。高达 256K 的较大缓冲区大小将略微提高性能。大于 256K 会使速度减慢到令人惊讶的程度。在我的测试中,使用 512K 缓冲区的时间几乎是使用 256K 缓冲区复制的两倍。
这个想法很简单:
Read the first buffer from the source file
do
{
start asynchronous write to destination file.
Read the next buffer from the source file
wait for asynchronous write to complete
} while not end of file
写东西是一件很简单的事情。我执行此操作的程序几乎与 Robocopy 一样快,并且不会导致
problems that Robocopy causes当您从服务器复制一个非常大(数百 GB)的文件时。
关于.net - Robocopy 背后的算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989472/
我正在寻找匹配 /(?=\W)(gimme)(?=\W)/gi 或类似的东西。 \W 应该是零宽度字符来包围我的实际匹配项。 也许有一些背景。我想用添加的文字填充替换某些单词(总是 \w+),但前提是
如何在不使用 Intent 连接到 VPN 服务的情况下以编程方式检测流量是否正在通过 VPN。有系统调用吗? 最佳答案 这个有效: private boolean checkVPN() {
我是一名优秀的程序员,十分优秀!