vb.net 判断文件编码的方法

vb.net 判断文件编码的三种方法
使用方法:GetEncoding(文件名)
' 读取文本文件的内容  
'  
' 文件名  
' 文件编码  
' 文件内容  

    Public Function ReadFile(ByVal fileName As String) As String
        If File.Exists(fileName) Then
            Return File.ReadAllText(fileName, GetEncoding(fileName))
        Else
            Return string.Empty
        End If
    End Function
     
'  
' 判断文件编码类型  
'  
'  
'    
    Public Overloads Shared Function GetEncoding(ByVal fileName As String) As Encoding
        Dim fs As FileStream = New FileStream(fileName, FileMode.Open, FileAccess.Read)
        Dim r As Encoding = GetEncoding(fs)
        fs.Close
        Return r
    End Function
   
'  
' 判断文件流编码类型  
'  
'    

    Private Overloads Shared Function GetEncoding(ByVal fs As FileStream) As Encoding
        Dim r As BinaryReader = New BinaryReader(fs, System.Text.Encoding.Default)
        Dim ss() As Byte = r.ReadBytes(3)
        r.Close
       
        If (ss(0) >= 239) Then
            BF
            Return Encoding.UTF8
            If ((ss(0) = 254)   _
                        AndAlso (ss(1) = 255)) Then
                Return Encoding.BigEndianUnicode
            ElseIf ((ss(0) = 255)   _
                        AndAlso (ss(1) = 254)) Then
                Return Encoding.Unicode
            Else
                Return Encoding.Default
            End If
        Else
            Return Encoding.Default
        End If
    End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值