private void GetFile(int size, StreamReader r)
        {
            char[] c = new char[512];
            int i = 0, len = 0;
            while (true)
            {
                i = r.Read(c, 0, 512);
                len += i;
                if (len >= size)
                {
                    break;
                }
            }
        }
上面的方法是用来下载文件的,但是如果文件较大时,比如说size=2036,那当read的时候,前几下read都没有事,但最后一个read会发生堵塞。