将 byte[] 存储到文件 C#

store byte[] into file C#

我有这个功能,一次读取一个网站名称,并为每个 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;

        }

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

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

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

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

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

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