【问题标题】:Read File byte after byte in vbscript在vbscript中逐字节读取文件
【发布时间】:2018-11-06 16:50:40
【问题描述】:

我正在寻找一种使用 VBScript(大 - 1 GB)读取大二进制文件的方法。我无法使用ReadAll 函数直接读取它,因为文件太大,所以我正在寻找一种在循环中读取它的方法,就像在 C 中一样。所以我想读取 X 字节,处理它们(我不'不需要完整的文件来做我的事情),然后再读下 10 遍。

问题是我找不到这样做的方法,我知道如何从偏移量开始读取,但找不到读取 X 字节的方法,只有 ReadAllReadLine 函数.

有没有办法读取 X 字节?

【问题讨论】:

    标签: vbscript binaryfiles


    【解决方案1】:

    如有疑问,请阅读documentation

    读取方法

    从 TextStream 文件中读取指定数量的字符并返回结果字符串。

    语法

    object.Read(characters)
    

    参数

    • 对象
      必需的。始终是 TextStream 对象的名称。
    • 字符
      必需的。您要从文件中读取的字符数。
    filename = "C:\path\to\your.file"
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f   = fso.OpenTextFile(filename)
    
    Do Until f.AtEndOfStream
        buf = f.Read(10)
        '...
    Loop
    
    f.Close
    

    但是请注意,Read() 方法本身并不读取字节,而是读取字符。只要您以ANSI模式(默认)打开文件,这大致相同。

    【讨论】:

    • 所以,我只有在有文本文件的情况下才能使用它?如果它是二进制文件,我有问题吗?
    • 请重新阅读我的回答,特别是最后一段。 (TL;DR:否)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-15
    • 2013-12-06
    • 1970-01-01
    相关资源
    最近更新 更多