OpenAsTextStream 메소드

지정된 파일을 열고 파일에서 읽기, 쓰기 또는 파일에 추가하는 데 사용할 수 있는 TextStream 객체를 반환합니다.

구문

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

인수:

  • Object: 필수. 항상 파일 객체의 이름입니다.

  • Iomode: 선택사항. 입력/출력 모드를 나타냅니다. ForReading, ForWriting 또는 ForAppending의 세 상수 중 하나일 수 있습니다.

  • Format: 선택사항. 열린 파일의 형식을 나타냅니다. 생략할 경우 기본적으로 파일은 Unicode로 열립니다.

    Note:

    형식 인수는 휴면 상태이며 VB 스크립트 동작을 모방하도록 유지됩니다. 아무런 기능도 하지 않습니다. 생성되는 모든 파일은 Unicode 형식으로만 표시됩니다.

설정

iomode 인수는 다음 설정을 포함할 수 있습니다.

Table 11-35 Iomode 인수 설정

상수 설명
ForReading 1 읽을 파일만 엽니다. 이 파일에는 쓸 수 없습니다.
ForWriting 2 파일을 열어 쓰기 작업을 수행합니다.
ForAppending 8 파일을 열고 파일의 끝에 씁니다.

주석

OpenAsTextStream 메소드는 FileSystemObjectOpenTextFile 메소드와 동일한 기능을 제공합니다. 또한 OpenAsTextStream 메소드를 사용하여 파일에 쓸 수 있습니다.

다음 코드는 OpenAsTextStream 메소드의 사용을 보여줍니다.

예 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."

예 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."

예 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."

예 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