OpenTextFile Method
Updated: September 2009
Opens a specified file and returns a TextStream object that can be used to read from, write to, or append to the file.
object.OpenTextFile(filename[, iomode[, create[, format]]])
The iomode argument can have any of the following settings:
|
Constant |
Value |
Description |
|---|---|---|
|
ForReading |
1 |
Open a file for reading only. You can't write to this file. |
|
ForWriting |
2 |
Open a file for writing. |
|
ForAppending |
8 |
Open a file and write to the end of the file. |
The format argument can have any of the following settings:
|
Constant |
Value |
Description |
|---|---|---|
|
TristateUseDefault |
-2 |
Opens the file using the system default. |
|
TristateTrue |
-1 |
Opens the file as Unicode. |
|
TristateFalse |
0 |
Opens the file as ASCII. |
The following code illustrates the use of the OpenTextFile method.
var ForReading = 1, ForWriting = 2, ForAppending = 8; // The following line contains constants for the OpenTextFile // format argument, which is not used in the code below. var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0; var fso = new ActiveXObject("Scripting.FileSystemObject"); // Open the file for output. var filename = "c:\\testfile.txt"; var f = fso.OpenTextFile(filename, ForWriting, true); // Write to the file. f.WriteLine("Hello world!"); f.WriteLine("The quick brown fox"); f.Close(); // Open the file for input. f = fso.OpenTextFile(filename, ForReading); // Read from the file and display the results. while (!f.AtEndOfStream) { var r = f.ReadLine(); document.write (r + "<br />"); } f.Close();
Const ForReading = 1, ForWriting = 2, ForAppending = 8
' The following line contains constants for the OpenTextFile
' format argument, which is not used in the code below.
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, MyFile, FileName, TextLine
Set fso = CreateObject("Scripting.FileSystemObject")
' Open the file for output.
FileName = "c:\testfile.txt"
Set MyFile = fso.OpenTextFile(FileName, ForWriting, True)
' Write to the file.
MyFile.WriteLine "Hello world!"
MyFile.WriteLine "The quick brown fox"
MyFile.Close
' Open the file for input.
Set MyFile = fso.OpenTextFile(FileName, ForReading)
' Read from the file and display the results.
Do While MyFile.AtEndOfStream <> True
TextLine = MyFile.ReadLine
Document.Write TextLine & "<br />"
Loop
MyFile.Close
Applies To:
OpenTextFile with PowerShell
# Read-AllTextFile
# Sample using PowerShell
# Thomas Lee - tfl@psp.co.uk
# Create constants
Set-Variable -name ForReading -value 1 -option constant
Set-Variable -name ForWriting -value 2 -option constant
# Create test file - the PowerShell way!
"Hello world!" | set-content c:\foo\test.txt
# Open files
$fo = new-object -com Scripting.FileSystemObject
$f = $fo.OpenTextFile("c:\foo\test.txt", $ForReading)
$ReadAllTextFile = $f.ReadAll()
# Display
"`"$ReadAllTextFile`" is {0} characters long" -f $readalltextfile.length
This script produces the following output:
PS C:\foo> .\read-textfile.ps1
"Hello world!
" is 14 characters long
- 7/19/2008
- Thomas Lee
- 7/19/2008
- Thomas Lee