Metodo OpenAsTextStream

Apre un file specificato e restituisce un oggetto TextStream che può essere utilizzato per eseguire operazioni di lettura, scrittura o aggiunta a livello di file.

Sintassi

object.OpenAsTextStream([iomode, [format]])

Argomenti:

  • Object: obbligatorio. Sempre il nome dell'oggetto File.

  • Iomode: facoltativo. Indica la modalità di input/output. Può essere una delle seguenti tre costanti: ForReading, ForWriting o ForAppending.

  • Format: facoltativo. Indica il formato del file aperto. Se omesso, il file viene aperto come Unicode per impostazione predefinita.

    Note:

    L'argomento format è inattivo e viene mantenuto per simulare il comportamento di VBScript. Non ha alcun effetto. Tutti i file creati vengono creati solo in formato Unicode.

Impostazioni

L'argomento iomode può avere una qualsiasi delle seguenti impostazioni:

Table 11-35 Impostazione dell'argomento Iomode

Costante Valore Descrizione
ForReading 1 Apre il file in sola lettura. Non è possibile scrivere in questo file.
ForWriting 2 Apre il file in modalità di scrittura.
ForAppending 8 Apre il file consentendone la scrittura alla fine del file.

Note

Il metodo OpenAsTextStream fornisce le stesse funzionalità del metodo OpenTextFile dell'oggetto FileSystemObject. È inoltre possibile utilizzare il metodo OpenAsTextStream per scrivere in un file.

Nel codice seguente viene illustrato l'uso del metodo OpenAsTextStream.

Esempio 1

Function WriteToFile(filepath, text)
    Const ForWriting = 2
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForWriting)
    ts.Writeline text
    ts.Close
End Function

' Usage
WriteToFile "C:\Path\To\Your\File.txt", "This is a test message."

Esempio 2

Function AppendToFile(filepath, text)
    Const ForAppending = 8
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForAppending)
    ts.WriteLine text
    ts.Close
End Function

' Usage
AppendToFile "C:\Path\To\Your\File.txt", "This is additional text."

Esempio 3

Function WriteUnicodeToFile(filepath, text)
    Const ForWriting = 2
    Const TristateTrue = -1
    Dim fso, f, ts
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForWriting, TristateTrue)
    ts.Writeline text
    ts.Close
End Function

' Usage
WriteUnicodeToFile "C:\Path\To\Your\File.txt", "This is a Unicode test message."

Esempio 4

Function ReadFromFile(filepath)
    Const ForReading = 1
    Dim fso, f, ts, content
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFile(filepath)
    Set ts = f.OpenAsTextStream(ForReading)
    Do While Not ts.AtEndOfStream
        content = content & ts.ReadLine
    Loop    
    ts.Close
    ReadFromFile = content
End Function

' Usage
Dim fileContent
fileContent = ReadFromFile("C:\Path\To\Your\File.txt")
'Output: Content of the File