FileInfo.AppendText Method
Creates a StreamWriter that appends text to the file represented by this instance of the FileInfo.
[Visual Basic] Public Function AppendText() As StreamWriter [C#] public StreamWriter AppendText(); [C++] public: StreamWriter* AppendText(); [JScript] public function AppendText() : StreamWriter;
Return Value
A new StreamWriter.
Remarks
For an example of using this method, see the Example section below. The following table lists examples of other typical or related I/O tasks.
| To do this... | See the example in this topic... |
|---|---|
| Create a text file. | Writing Text to a File |
| Write to a text file. | Writing Text to a File |
| Read from a text file. | Reading Text from a File |
Example
The following example appends text to a file and reads from the file.
[Visual Basic] Imports System Imports System.IO Public Class Test Public Shared Sub Main() Dim fi As FileInfo = New FileInfo("c:\temp\MyTest.txt") Dim sw As StreamWriter ' This text is added only once to the file. If fi.Exists = False Then 'Create a file to write to. sw = fi.CreateText() sw.WriteLine("Hello") sw.WriteLine("And") sw.WriteLine("Welcome") sw.Flush() sw.Close() End If ' This text will always be added, making the file longer over time ' if it is not deleted. sw = fi.AppendText() sw.WriteLine("This") sw.WriteLine("is Extra") sw.WriteLine("Text") sw.Flush() sw.Close() 'Open the file to read from. Dim sr As StreamReader = fi.OpenText() Dim s As String Do While sr.Peek() >= 0 s = sr.ReadLine() Console.WriteLine(s) Loop sr.Close() End Sub End Class [C#] using System; using System.IO; class Test { public static void Main() { FileInfo fi = new FileInfo(@"c:\temp\MyTest.txt"); // This text is added only once to the file. if (!fi.Exists) { //Create a file to write to. using (StreamWriter sw = fi.CreateText()) { sw.WriteLine("Hello"); sw.WriteLine("And"); sw.WriteLine("Welcome"); } } // This text will always be added, making the file longer over time // if it is not deleted. using (StreamWriter sw = fi.AppendText()) { sw.WriteLine("This"); sw.WriteLine("is Extra"); sw.WriteLine("Text"); } //Open the file to read from. using (StreamReader sr = fi.OpenText()) { string s = ""; while ((s = sr.ReadLine()) != null) { Console.WriteLine(s); } } } } [C++] #using <mscorlib.dll> using namespace System; using namespace System::IO; int main() { FileInfo* fi = new FileInfo(S"c:\\temp\\MyTest.txt"); // This text is added only once to the file. if (!fi->Exists) { //Create a file to write to. StreamWriter* sw = fi->CreateText(); try { sw->WriteLine(S"Hello"); sw->WriteLine(S"And"); sw->WriteLine(S"Welcome"); } __finally { if (sw) __try_cast<IDisposable*>(sw)->Dispose(); } } // This text will always be added, making the file longer over time // if it is not deleted. StreamWriter* sw = fi->AppendText(); try { sw->WriteLine(S"This"); sw->WriteLine(S"is Extra"); sw->WriteLine(S"Text"); } __finally { if (sw) __try_cast<IDisposable*>(sw)->Dispose(); } //Open the file to read from. StreamReader* sr = fi->OpenText(); try { String* s = S""; while (s = sr->ReadLine()) { Console::WriteLine(s); } } __finally { if (sr) __try_cast<IDisposable*>(sr)->Dispose(); } }
The following example demonstrates appending text to the end of a file and also displays the result of the append operation to the console. The first time this routine is called, the file is created if it does not exist. After that, the specified text is appended to the file.
[Visual Basic] Imports System Imports System.IO Public Class AppendTextTest Public Shared Sub Main() Dim fi As New FileInfo("temp.txt") Dim sw As StreamWriter = fi.AppendText() ' Create a reference to a file, which might or might not exist. ' If it does not exist, it is not yet created. ' Create a writer, ready to add entries to the file. sw.WriteLine("Add as many lines as you like...") sw.WriteLine("Add another line to the output...") sw.Flush() sw.Close() Dim sr As New StreamReader(fi.OpenRead()) ' Get the information out of the file and display it. ' Remember that the file might have other lines if it already existed. While sr.Peek() <> -1 Console.WriteLine(sr.ReadLine()) End While End Sub 'Main End Class 'AppendTextTest [C#] using System; using System.IO; public class AppendTextTest { public static void Main() { // Create a reference to a file, which might or might not exist. // If it does not exist, it is not yet created. FileInfo fi = new FileInfo("temp.txt"); // Create a writer, ready to add entries to the file. StreamWriter sw = fi.AppendText(); sw.WriteLine("Add as many lines as you like..."); sw.WriteLine("Add another line to the output..."); sw.Flush(); sw.Close(); // Get the information out of the file and display it. // Remember that the file might have other lines if it already existed. StreamReader sr = new StreamReader(fi.OpenRead()); while (sr.Peek() != -1) Console.WriteLine( sr.ReadLine() ); } } [C++] #using <mscorlib.dll> using namespace System; using namespace System::IO; int main() { // Create a reference to a file, which might or might not exist. // If it does not exist, it is not yet created. FileInfo* fi = new FileInfo(S"temp.txt"); // Create a writer, ready to add entries to the file. StreamWriter* sw = fi->AppendText(); sw->WriteLine(S"Add as many lines as you like..."); sw->WriteLine(S"Add another line to the output..."); sw->Flush(); sw->Close(); // Get the information out of the file and display it. // Remember that the file might have other lines if it already existed. StreamReader* sr = new StreamReader(fi->OpenRead()); while (sr->Peek() != -1) Console::WriteLine( sr->ReadLine() ); } [JScript] import System; import System.IO; public class AppendTextTest { public static function Main() : void { // Create a reference to a file, which might or might not exist. // If it does not exist, it is not yet created. var fi : FileInfo = new FileInfo("temp.txt"); // Create a writer, ready to add entries to the file. var sw : StreamWriter = fi.AppendText(); sw.WriteLine("Add as many lines as you like..."); sw.WriteLine("Add another line to the output..."); sw.Flush(); sw.Close(); // Get the information out of the file and display it. // Remember that the file might have other lines if it already existed. var sr : StreamReader = new StreamReader( fi.OpenRead() ); while (sr.Peek() != -1) Console.WriteLine( sr.ReadLine() ); } } AppendTextTest.Main();
Requirements
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework
.NET Framework Security:
- FileIOPermission for reading and appending to files. Associated enumerations: FileIOPermissionAccess.Read, FileIOPermissionAccess.Append
See Also
FileInfo Class | FileInfo Members | System.IO Namespace | StreamWriter | Working with I/O | Reading Text from a File | Writing Text to a File | Basic File I/O | Reading and Writing to a Newly Created Data File