Skip to content

VBMAN.ToolsStream - File Stream Operation Object

Overview

VBMAN.ToolsStream provides stream-based file read/write functionality, supporting large file chunked processing, line mode read/write, and other advanced features.

Core Features

  • Stream Processing: Suitable for large file operations
  • Line Mode: Read/write text files line by line
  • Encoding Support: Automatically handles multiple character encodings
  • Progress Feedback: Supports read progress events

Methods

LoadFileAsText

Load file in text mode

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

ReadLine

Read a line

vb
Public Function ReadLine() As String

WriteLine

Write a line

vb
Public Sub WriteLine(text As String)

SaveFileAsText

Save text file

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

UseLineMode

Enable/disable line mode

vb
Public Function UseLineMode(enable As Boolean) As cToolsStream

Comprehensive Examples

Example 1: Process Large File Line by Line

vb
Private Sub ProcessLargeFile(filePath As String)
    Dim stream As New cToolsStream
    
    ' Enable line mode
    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
        
        ' Process each line
        ProcessLine lineNum, line
        
        ' Refresh interface every 1000 lines
        If lineNum Mod 1000 = 0 Then
            LabelStatus.Caption = "Processed: " & lineNum & " lines"
            DoEvents
        End If
    Loop
    
    stream.Close
End Sub

Example 2: Generate Log File

vb
Private Sub GenerateLogFile()
    Dim stream As New cToolsStream
    stream.UseLineMode(True)
    
    ' Write multiple log lines
    stream.WriteLine "[" & Now & "] System started"
    stream.WriteLine "[" & Now & "] Loading configuration..."
    stream.WriteLine "[" & Now & "] Configuration loaded"
    
    ' Save
    stream.SaveFileAsText App.Path & "\\system.log", "UTF-8"
End Sub

Example 3: File Merge

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"
        
        ' Copy content
        Do While Not inStream.IsEOF
            outStream.WriteLine inStream.ReadLine
        Loop
        
        inStream.Close
    Next i
    
    ' Save merged file
    outStream.SaveFileAsText destFile, "UTF-8"
End Sub

Best Practices

  1. Close Promptly: Call Close to release resources after use
  2. Large File Processing: Use line mode to avoid memory overflow
  3. Encoding Consistency: Use same character encoding for reading and writing
  4. Error Handling: Add error handling for file operations

VB6 and LOGO copyright of Microsoft Corporation