- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
可以用进度条显示进度吗
File.WriteAllBytes(file, array)
在 C# 中?
最佳答案
没有。
您需要使用循环以 block 的形式写入字节。像下面这样的东西应该让你开始。请注意,这需要在后台线程中运行。如果您使用的是 WinForms,则可以使用 BackgroundWorker
。
using(var stream = new FileStream(...))
using(var writer = new BinaryWriter(stream)) {
var bytesLeft = array.Length; // assuming array is an array of bytes
var bytesWritten = 0;
while(bytesLeft > 0) {
var chunkSize = Math.Min(64, bytesLeft);
writer.WriteBytes(array, bytesWritten, chunkSize);
bytesWritten += chunkSize;
bytesLeft -= chunkSize;
// notify progressbar (assuming you're using a background worker)
backgroundWorker.ReportProgress(bytesWritten * 100 / array.Length);
}
}
编辑:正如 Patashu 在下面指出的那样,您也可以执行任务并等待。我认为我的方法相当简单,不需要任何额外的线程内容(除了您需要执行操作的一个后台线程之外)。这是传统方式,效果很好。
关于c# - 如何学习 WriteAllBytes 进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15467135/
我正在使用以下代码: File.WriteAllBytes("c:\\test.xml", Encoding.UTF8.GetBytes("THIS IS A TEST")) 理论上应该写一个 UTF
我在 myObject.PdfFile 中将 pdf 文件作为字节数组,我正在尝试使用写入所有字节将其保存在硬盘中 System.IO.File.WriteAllBytes(@"C:\a.pdf",
我使用 File.WriteAllBytes创建文件“somefile.txt”。这是否意味着当 File.WriteAllBytes 从执行返回时,传递给 File.WriteAllBytes 的字
我有一段像这样的简单代码: File.WriteAllBytes(Path.Combine(temp, node.Name), stuffFile.Read(0, node.FileHeader.Fi
可以用进度条显示进度吗 File.WriteAllBytes(file, array) 在 C# 中? 最佳答案 没有。 您需要使用循环以 block 的形式写入字节。像下面这样的东西应该让你开始。请
目前正在 Windows 7 上的 Visual Studio 2010 .NET 4 中开发 C# WinForms 应用程序。 首先,我使用 File.ReadAllBytes() 方法从文件中读
File.WriteAllBytes 和 FileStream.Write/WriteBytes 有什么区别?我有一个位图对象,我想在磁盘上创建一个新的 bmp/jpg/png。我想我在某处读到 Wr
当我使用 SSH.NET 通过 SFTP 传输文件时,我观察到一些奇怪的行为。我正在使用 SFTP 将 XML 文件传输到另一个服务(我不控制)进行处理。如果我使用 SftpClient.WriteA
我正在将错误日志写入脚本存在的同一目录中的文件中。我想在写入时潜在地创建一个新文件夹,并将日期/时间添加到文件名中,这样它们 2nd 就不会保存在第一个上。 这是我目前所拥有的: File.Write
我正在尝试将表示完整文件的 Byte[] 数组写入文件。此文件可能具有 .csv 或 .db 扩展名。 我已经建立了一个基于 MSDN 同步套接字的同步客户端和服务器应用程序 通过 S.O 搜索后,我
这个问题在这里已经有了答案: Why can't I use System.IO.File methods in an MVC controller? (1 个回答) 关闭 6 年前。 我正在尝试创
我是一名优秀的程序员,十分优秀!