0
我的代碼是:追加到txt文件中產生奇怪的字符
File.AppendAllText(
@"C: \Users\aalig\Downloads\stok.txt",
"text content" + Environment.NewLine,
Encoding.UTF8);
但之後寫作的文本文件看起來是 - 原文先行正確(預期),但隨後的象形文字,而不是「文字內容」:
我的代碼是:追加到txt文件中產生奇怪的字符
File.AppendAllText(
@"C: \Users\aalig\Downloads\stok.txt",
"text content" + Environment.NewLine,
Encoding.UTF8);
但之後寫作的文本文件看起來是 - 原文先行正確(預期),但隨後的象形文字,而不是「文字內容」:
源文件具有不同的編碼(未UTF8作爲代碼指定)。當AppendAllText
按要求添加UTF8文本時,它會附加UTF8編碼的字符串。當使用另一種編碼(即UTF16)讀取這種字節序列時,它將被解釋爲不同的Unicode字符集。
修正:當附加文本(如果知道的話)
樣品產生無效結果:
string path = @"e:\temp\MyTest.txt";
File.WriteAllText(path, "Hello and Welcome" + Environment.NewLine, Encoding.Unicode);
// Note that AppendAllText uses different encoding than WriteAllText
// To correct - specify the same Encoding.Unicode (option 1)
File.AppendAllText(path, "text content" + Environment.NewLine, Encoding.UTF8);
Console.WriteLine(File.ReadAllText(path));
結果
Hello and Welcome
整璸撓湯整瑮
樣品讀取整個文件並添加文本(選項2)
File.WriteAllText(path,
File.ReadAllText(path)
+ Environment.NewLine
+ newContentToAdd);
是這個問題不完整?你會得到什麼錯誤?請包含更多詳細信息以幫助他人幫助您。 – xmorera
我試過編寫「文本內容」,但它看起來像文本文件中的「整璸撓湯整瑮」@xmorera – YS1965
就像測試一樣,您是否可以先清除所有文件內容? – xmorera