簡體   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