【问题标题】:store byte[] into file C#将字节 [] 存储到文件 C#
【发布时间】:2021-12-09 17:05:41
【问题描述】:

我有这个函数一次读取一个网站名称,并为每个 url 创建一个对象数组,其中从网页接收的网站名称和字节保存到数组中。然后将该数组保存到名为“saveData.txt”的 txt 文件中

                string[] readText = File.ReadAllLines("new.txt");
                foreach (string s in readText)
                {
                    
                    object[] url = new object[2];
                    url[0] = s;
                    url[1] = displayByteCode(s);
                     
                    
                    using (StreamWriter writer = new StreamWriter("saveData.txt",true))
                    {
                        writer.WriteLine(url[0]+" "+ url[1]);
                    }
                   

                }

displayByteCode是一个函数,如下:

public byte[] displayByteCode(string getURLCode)
        {
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(getURLCode);
            myRequest.Method = "GET";
            WebResponse myResponse = myRequest.GetResponse();
            MemoryStream ms = new MemoryStream();
            myResponse.GetResponseStream().CopyTo(ms);
            byte[] data = ms.ToArray();
            
            return data;

        }

返回从网站收到的字节。虽然网址已正确保存。字节保存为“System.Byte []”我如何保存实际字节而不是这个?感谢您的帮助!

【问题讨论】:

    标签: c# arrays webrequest


    【解决方案1】:

    当你在一个字符串和一个对象上调用 + 运算符时,它会调用该对象上的 toStirng 方法(这就是它在文件中写入 System.Byte[] 的原因)

    你不能在c#中同时写字符串和字节,为了存储字节,你可以使用:

    File.WriteAllBytes("saveData.txt", (byte[])url[1]);

    或者您可以将其转换为字符串并存储:

    writer.WriteLine(url[0]+" "+ Convert.ToBase64String((byte[])url[1]));
    

    【讨论】:

    • 它有效。谢谢你^^
    猜你喜欢
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 2013-07-10
    • 2011-09-07
    • 2014-11-30
    • 2013-04-13
    • 1970-01-01
    相关资源
    最近更新 更多