VBS读取文本文件函数ReadTextFile

标签: , , , ,

前VBS吧吧主次碳酸钴写的读取文本文件的自定义函数,据说可以自动判断无BOM的UTF-8编码。

Function ReadTextFile(Path)
    'Author 次碳酸钴
    'This Function is useful for no BOM UTF-8
    On Error Resume Next
    Dim Size,Text,Charset
    With CreateObject("ADODB.Stream")
        .Open:.Type=1:.LoadFromFile Path
        Size=.Size:If Size=0 Then Exit Function
        If AscB(.Read(1))<>239 Then Size=Size+3
        .Position=0:.Type=2:.Charset="UTF-8"
        Err.Clear
        Text=.ReadText
        If Err.Number Then
            Charset="Unicode"
        Else
            .Close:.Open
            .WriteText Text
            If Size<>.Size Then
                Charset="GBK"
            Else
                Charset="UTF-8"
            End If
        End If
        .Close:.Open:.Type=1:.LoadFromFile Path
        .Position=0:.Type=2:.Charset=Charset
        ReadTextFile=.ReadText
    End With
End Function

Demon注:仅为复制粘贴,未分析测试,不保证正确性,使用前请自行斟酌。

原文链接:http://tieba.baidu.com/p/1539166222

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. 文件属性中“大小”和“占用空间”的区别
  2. JavaScript 中小数和大整数的精度丢失
  3. 批处理技术内幕:序
  4. 验证IPv4地址的正则表达式
  5. “WindowsLive.Writer.CoreServices.HttpRequestHelper”的类型初始值设定项引发异常

留下回复