您的位置:首页 > 编程语言 > VB

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

2016-02-24 11:37 471 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: