.NET中寫成Big5的文字檔的Function

.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:從零開始的軟體開發生活

請大家繼續支持 ^_^