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
使用方法: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
相关文章推荐
- vb.net防止WebBrowser在新窗口中打…
- vs2010 .vb如何生成类库(DLL)
- vb.net webbrowser控件如何获取鼠…
- vb.net DateTimePicker如何显示某…
- 如何使用vb.net多线程
- vb.net多线程同步调用实例
- vb document.execCommand()语法格…
- vb.net批量查询已删除域名
- VB.net怎么最小化到系统托盘
- vb.net 判断是否按下某个按键
- vb截取任意两个特征字符之间的字符…
- vb.net webbrowser填充textarea
- vb.net 不会无响应的延时函数delay
- vb 读写.ini文件
- vb.net 数组去除重复
- vb webbrowser 保存网页源码的各种…
- VB6 XArrayDB | Xarray ReDim 用法
- 使用正则表达式vb从网址提取根域名
- Vb.net 分组控件学习 checkedlistb…
- vb.net 如何选择文件夹 不是文件