完成了文件数据的读取工作后,我们运用FileStream类的实例对象将这些数据写入本地文件中: 

FileStream fstr = new FileStream(Path,FileMode.OpenOrCreate,FileAccess.Write); 
 fstr.Write(mbyte,0,startmbyte);

  这样,程序主体部分的代码已经完成了,不过要完成全部程序还需要一些工作。由于在程序接收网络文件数据的时候运用到了while循环体,这样会很占程序资源,表现的形式就是主窗体不能自由移动。为了解决这个问题,我们在程序中用到了多线程机制。我们在响应按钮的事件中新建一个线程,该线程就是用来实现网络文件下载功能的。如此,文件下载的线程和程序主线程并存,共享进程资源,使得程序顺畅运行。这样,我们在按钮控件的消息响应函数里添加如下代码: 

Thread th = new Thread(new ThreadStart(StartDownload)); 
 th.Start();

  该线程的实现函数就是StartDownload(),而上面介绍的那些代码就是这个函数的主体部分。 

  最后,因为程序中运用到了WebRequest、WebClient、FileStream、Thread等类,所以最重要的就是在程序的开始处添加如下名字空间: 

using ; 
 using System.IO; 
 using System.Threading;