Windows 응용 프로그램 C#을 사용하여 내 서버에서 대용량 파일 (5GB ~ 50GB)을 내 외부 하드 디스크로 전송하려고합니다.C#으로 원격 서버에 큰 파일 복사
코드는 파일을 전송하는 데 사용 :
public void CopyFile(string source, string dest)
{
using (FileStream sourceStream = new FileStream(source, FileMode.Open))
{
byte[] buffer = new byte[64 * 1024]; // Change to suitable size after testing performance
using (FileStream destStream = new FileStream(dest, FileMode.Create))
{
int i;
while ((i = sourceStream.Read(buffer, 0, buffer.Length)) > 0)
{
destStream.Write(buffer, 0, i);
//OnProgress(sourceStream.Position, sourceStream.Length);
}
}
}
}
그러나이 코드의 문제는 (파일이 여전히 느린 속도로 전송 있지만) 응용 프로그램이 실행, 내 응용 프로그램이 그냥 놀았어요 때이다
원격 서버에서 큰 파일을 복사하는 더 좋은 방법이 있습니까? 당신이 윈폼을하고 있다면
? 그것이이 문제에 도움이되지는 않지만 다시 구현할 필요는 없습니다. – Blorgbeard
어쨌든 BackgroundWorker 또는 Thread에서 복사본을 만드는 것이 좋습니다. – Blorgbeard
응용 프로그램의 어떤 유형 (WPF, WinForms, ASP.NET, Console)에서이 버전을 사용하고 있습니까? –