下载前1000个字节

时间:2010-10-04 07:55:35

标签: c# .net

我需要使用C#从互联网上下载文本文件。文件大小可能非常大,我需要的信息总是在前1000个字节内。这可能吗?

2 个答案:

答案 0 :(得分:12)

here被盗。

string GetWebPageContent(string url)
{
    string result = string.Empty;
    HttpWebRequest request;
    const int bytesToGet = 1000;
    request = WebRequest.Create(url) as HttpWebRequest;

    //get first 1000 bytes
    request.AddRange(0, bytesToGet - 1);

    // the following code is alternative, you may implement the function after your needs
    using (WebResponse response = request.GetResponse())
    {
        using (Stream stream = response.GetResponseStream())
        {
            byte[] buffer = new byte[1024];
            int read = stream.Read(buffer, 0, 1000);
            Array.Resize(ref buffer, read);
            return Encoding.ASCII.GetString(buffer);
        }

    }
}

(根据评论中的要求编辑......;))

答案 1 :(得分:2)

我这样做是为了回答你的新问题。如果你愿意,也可以把范围标题放入,但我将其排除在外。

    string GetWebPageContent(string url)
    {
        //string result = string.Empty;
        HttpWebRequest request;
        const int bytesToGet = 1000;
        request = WebRequest.Create(url) as HttpWebRequest;
        var buffer = new char[bytesToGet];
        using (WebResponse response = request.GetResponse())
        {
            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                sr.Read(buffer, 0, bytesToGet);
            }
        }
        return new string(buffer);
    }