首页 / C# / C#-复制文件并继续支持
C#-复制文件并继续支持
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-复制文件并继续支持,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1218字,纯文字阅读大概需要2分钟。
内容图文
![C#-复制文件并继续支持](/upload/InfoBanner/zyjiaocheng/653/b3b8e3641b8a45bea9d0ec6ab2955c07.jpg)
你好
有没有人有可行的示例代码来复制文件并支持在源断开连接的情况下恢复文件?
在此示例中,我正在复制视频文件.如果源已断开连接,即USB已拔出,我如何支持再次恢复它们?我已经在stackoverflow上尝试了一些代码,但是恢复后,视频文件似乎已损坏. FileStream是视频传输/恢复的最佳解决方案吗?
欢迎其他任何指针或技巧.
private void CreateNewCopyTo(FileStream source, FileStream dest) {
int size = (source.CanSeek) ? Math.Min((int)(source.Length - source.Position), 0x2000) : 0x2000;
byte[] buffer = new byte[size];
int read;
long fileLength = source.Length;
while ((read = source.Read(buffer, 0, buffer.Length)) > 0) {
dest.Write(buffer, 0, read);
dest.Close();
dest = new FileStream(dest.Name, FileMode.Append, FileAccess.Write);
}
dest.Close();
}
private void ResumeCopyTo(FileStream source, FileStream dest) {
int size = (source.CanSeek) ? Math.Min((int)(source.Length - source.Position), 0x2000) : 0x2000;
byte[] buffer = new byte[size];
long TempPos = source.Position;
while (true) {
int read = source.Read(buffer, 0, buffer.Length);
if (read <= 0)
return;
dest.Write(buffer, 0, read);
dest.Close();
dest = new FileStream(dest.Name, FileMode.Append, FileAccess.Write);
}
}
解决方法:
尝试插入source.Seek(dest.Length,SeekOrigin.Begin);作为ResumeCopyTo方法的第一行.
内容总结
以上是互联网集市为您收集整理的C#-复制文件并继续支持全部内容,希望文章能够帮你解决C#-复制文件并继续支持所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。