WebRequest request = WebRequest.Create(Request.Url);
        WebResponse response = request.GetResponse();
        Stream stream = response.GetResponseStream();
        FileStream fs = new FileStream(Server.MapPath("txt.html"), FileMode.Create, FileAccess.Write);
        StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8);
        string str = sr.ReadToEnd();
        sr.Close();
        Byte[] bytes = new Byte[str.Length];
        StreamWriter sw = new StreamWriter(fs);
        sw.Write(str);
        sw.Close();
        fs.Close();文件生成后的字节是空的或才是1字节,怎么回事?str里字节长度是637.

解决方案 »

  1.   

    单位好像搞清楚哦
    标题上写着1Kb,那么1Kb=1024b=1024/8B=128B
    b是比特,也就是"位"的意思,B是字节,1B=8b
    另外你可以看看文件里的内容是不是你要写入的目标内容。
    看一下文件的属性里标注的字节数,注意单位换算。
      

  2.   

    string str = sr.ReadToEnd();
    之后设置断点。如果str是想要的,而且和最后保存的文件内容是一样的话。就没有问题。是不是1k啊?
      

  3.   

    str是读取的一个html文件,打开是空的,好奇怪,在执和write时都发现str有正常数据
      

  4.   

    lz写的除了多了bytes对象,逻辑上没什么问题看看是不是没有权限写文件。