Привет. Есть ли у кого-нибудь работающий пример кода, который копирует файлы и поддерживает их возобновление, если источник отключен?
В этом примере я копирую видеофайлы.Если источник отключен, т. Е. 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);
}
}