如果我從文件中讀取字節數組,並使用下面的代碼字節數組不同
byte[] bytes = File.ReadAllBytes(filePath);
File.WriteAllBytes(filePath, byteArr);
作品完美fine.I可以打開並查看它寫正確寫入文件。
但是,如果我讀文件內容到一個字符串,然後使用以下函數
string s = File.ReadAllText(filePath);
var byteArr = System.Text.Encoding.UTF8.GetBytes(s);
字節陣列的尺寸是大於先前的陣列直接從文件中讀取其轉換爲字節陣列和值也不同,因此,如果我寫使用此陣列打開
注意當不能讀取該文件: -文件是UTF-8編碼 我發現,使用以下代碼
using (StreamReader reader = new StreamReader(filePath, Encoding.UTF8, true))
{
reader.Peek(); // you need this!
var encoding = reader.CurrentEncoding;
}
無法理解爲什麼兩個陣列不同?
我是使用下面的附加的圖像轉換,然後寫
你在這裏期待什麼?在圖像文件上使用ReadAlltext()沒有任何意義。 –
需要保存文件可能是任何圖像或文本.. –
我是uisng filestream來保存文件數據,並且需要在需要時檢索文件 –