Skip to content

VBMAN.ToolsStream - 文件流操作对象

概述

VBMAN.ToolsStream 提供了基于流的文件读写功能,支持大文件分块处理、行模式读写等高级特性。

核心特性

  • 流式处理: 适合大文件操作
  • 行模式: 按行读写文本文件
  • 编码支持: 自动处理多种字符编码
  • 进度反馈: 支持读取进度事件

方法

LoadFileAsText

以文本模式加载文件

vb
Public Function LoadFileAsText(filePath As String, Optional charset As String = "UTF-8") As cToolsStream

ReadLine

读取一行

vb
Public Function ReadLine() As String

WriteLine

写入一行

vb
Public Sub WriteLine(text As String)

SaveFileAsText

保存文本文件

vb
Public Sub SaveFileAsText(filePath As String, Optional charset As String = "UTF-8")

UseLineMode

启用/禁用行模式

vb
Public Function UseLineMode(enable As Boolean) As cToolsStream

综合示例

示例1: 逐行处理大文件

vb
Private Sub ProcessLargeFile(filePath As String)
    Dim stream As New cToolsStream
    
    ' 启用行模式
    stream.UseLineMode(True).LoadFileAsText filePath, "UTF-8"
    
    Dim lineNum As Long
    lineNum = 0
    
    Do While Not stream.IsEOF
        Dim line As String
        line = stream.ReadLine
        lineNum = lineNum + 1
        
        ' 处理每一行
        ProcessLine lineNum, line
        
        ' 每1000行刷新一次界面
        If lineNum Mod 1000 = 0 Then
            LabelStatus.Caption = "已处理: " & lineNum & " 行"
            DoEvents
        End If
    Loop
    
    stream.Close
End Sub

示例2: 生成日志文件

vb
Private Sub GenerateLogFile()
    Dim stream As New cToolsStream
    stream.UseLineMode(True)
    
    ' 写入多行日志
    stream.WriteLine "[" & Now & "] 系统启动"
    stream.WriteLine "[" & Now & "] 加载配置..."
    stream.WriteLine "[" & Now & "] 配置加载完成"
    
    ' 保存
    stream.SaveFileAsText App.Path & "\\system.log", "UTF-8"
End Sub

示例3: 文件合并

vb
Private Sub MergeFiles(sourceFiles() As String, destFile As String)
    Dim outStream As New cToolsStream
    outStream.UseLineMode(True)
    
    Dim i As Integer
    For i = LBound(sourceFiles) To UBound(sourceFiles)
        Dim inStream As New cToolsStream
        inStream.UseLineMode(True).LoadFileAsText sourceFiles(i), "UTF-8"
        
        ' 复制内容
        Do While Not inStream.IsEOF
            outStream.WriteLine inStream.ReadLine
        Loop
        
        inStream.Close
    Next i
    
    ' 保存合并后的文件
    outStream.SaveFileAsText destFile, "UTF-8"
End Sub

最佳实践

  1. 及时关闭: 使用完后调用 Close 释放资源
  2. 大文件处理: 使用行模式避免内存溢出
  3. 编码一致: 读写使用相同字符编码
  4. 错误处理: 文件操作添加错误处理

VB6及其LOGO版权为微软公司所有