我的下载类是:  private static bool SaveBinaryFile(WebResponse response, string FileName)
        {
            bool Value = true;
            byte[] buffer = new byte[1024];            try
            {
                if (File.Exists(FileName))
                    File.Delete(FileName);
                Stream outStream = System.IO.File.Create(FileName);
                Stream inStream = response.GetResponseStream();                int l;
                    do
                    {
                        l = inStream.Read(buffer, 0, buffer.Length);
                        if (l > 0)
                            outStream.Write(buffer, 0, l);
                    }
                    while (l > 0);                outStream.Close();
                inStream.Close();
            }
            catch
            {
                Value = false;
            }
            return Value;
        }
现在想在里面加上判断是否下载完毕,未下载完的话继续下载,下载完了退出,并返回value,请大家改下谢谢

解决方案 »

  1.   


           FileStream fileStream = new FileStream(FileName, FileMode.Append,  FileAccess.Write);   
                    if (fileStream.Length == response.ContentLength)
                    {
                        MessageBox.Show("你以完成下载该程序了", "ok");
                        Value = true;
                    }
    逻辑你自己组织吧
      

  2.   

    Encoding enc = Encoding.UTF8;
    StreamReader sr = new StreamReader(st, enc);
    sr.ReadToEnd();
      

  3.   

    outStream 与inStream 长度相等的时候就可以判断下载已完成了        private static int SaveBinaryFile(WebResponse response, string FileName)
            {
                int Value = 1;
                byte[] buffer = new byte[1024];            try
                {
                    if (File.Exists(FileName))
                        File.Delete(FileName);
                    Stream outStream = System.IO.File.Create(FileName);
                    Stream inStream = response.GetResponseStream();                int l;
                        do
                        {
                            l = inStream.Read(buffer, 0, buffer.Length);
                            if (l > 0)
                                outStream.Write(buffer, 0, l);
                        }
                        while (l > 0);
                    if(outStream.Length == inStream.Length)
                        Value = 0;
                    outStream.Close();
                    inStream.Close();
                }
                catch
                {
                    Value = -1;
                }            return Value;//失败返回-1,成功返回1,下载完成返回0
            }