VBMAN.ToolsStream - 文件流操作对象
概述
VBMAN.ToolsStream 提供了基于流的文件读写功能,支持大文件分块处理、行模式读写等高级特性。
核心特性
- 流式处理: 适合大文件操作
- 行模式: 按行读写文本文件
- 编码支持: 自动处理多种字符编码
- 进度反馈: 支持读取进度事件
方法
LoadFileAsText
以文本模式加载文件
vb
Public Function LoadFileAsText(filePath As String, Optional charset As String = "UTF-8") As cToolsStreamReadLine
读取一行
vb
Public Function ReadLine() As StringWriteLine
写入一行
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最佳实践
- 及时关闭: 使用完后调用 Close 释放资源
- 大文件处理: 使用行模式避免内存溢出
- 编码一致: 读写使用相同字符编码
- 错误处理: 文件操作添加错误处理