1
以下是在VB.Net 2012中向文件寫入文本的兩種方法。第一種方法將每個文件的前三個不可打印字符前置:第二個按預期工作,不添加三個字符。 objDataReader是一個OleDB數據記錄器。FileSystem.WriteAllText添加不可打印的字符
任何想法爲什麼?
格雷格
My.Computer.FileSystem.WriteAllText(lblLocation.Text & "\" &
objDataReader("MessageControlId").ToString & ".txt", objDataReader("MsgContents").ToString, False)
Using outfile As New StreamWriter(lblLocation.Text & "\" & objDataReader("MessageControlId").ToString & ".txt")
outfile.Write(objDataReader("MsgContents").ToString)
End Using
它是BOM,它說,該文件的其餘部分包含UTF-8編碼的文本。 BOM是一件好事,這是完全正常的,任何現代文本編輯器都知道如何處理它。 VS肯定會。不幸的是,StreamWriter使用utf-8,但默認情況下不寫BOM。你必須添加UTF8Encoding作爲構造函數的第二個參數才能使它做正確的事情。 –