.NET中寫成Big5的文字檔的Function
Public Function WriteFile(ByVal vstrBody As String, ByVal FileName As String, _
Optional ByVal vblnOverWrite As Boolean = True, Optional ByVal vblnAppend As Boolean = True, _
Optional ByVal vobjEncoding As System.Text.Encoding = Nothing) As Boolean
Dim blnRtn As Boolean
Dim objFile As System.IO.File
Dim FileStream As System.IO.StreamWriter
'(1).先判斷檔案是否存在
If vblnOverWrite AndAlso objFile.Exists(FileName) Then
objFile.Delete(FileName)
End If
'(2B).使用 其他 編碼文字寫入
'產生一個 StremWriter 物件。ex. 以 950 (Big5 編碼) 'System.Text.Encoding.GetEncoding(950) 'System.Text.Encoding.GetEncoding("Big5")
FileStream = New System.IO.StreamWriter(FileName, vblnAppend, vobjEncoding)
'.NET 中 String 預設是 Unicode 編碼
'方法一:
'(a1).將 Unicode 編碼的 strIn 轉成 指定 編碼的位元陣列
Dim bytOut As Byte() = Encoding.Convert(Encoding.Unicode, vobjEncoding, Encoding.Unicode.GetBytes(vstrBody & ControlChars.NewLine))
'(a2).再從位元陣列轉回 String 並寫入檔案
FileStream.Write(vobjEncoding.GetString(bytOut))
'方法二:
'FileStream.Write(StrConv(vstrBody & ControlChars.NewLine, VbStrConv.TraditionalChinese))
FileStream.Flush()
FileStream.Close()
blnRtn = True
'關閉物件
objFile = Nothing
Return blnRtn
End Function
Hi,
亂馬客Blog已移到了 「亂馬客 : Re:從零開始的軟體開發生活」
請大家繼續支持 ^_^