繁体   English   中英

将字节 [] 存储到文件 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;

        }

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM