Dieser schrittweise aufgebaute Artikel beschreibt die lesen und Schreiben in eine Textdatei mithilfe von Visual c#.
Voraussetzungen
Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
In diesem Artikel wird davon ausgegangen, dass Sie mit den folgenden Themen vertraut sind:
Lesen und Schreiben von Textdateien
Read a Text File Abschnitt dieses Artikels beschreibt, wie die
StreamReader -Klasse zum Lesen der Textdatei verwendet. Das
Write a Text File (Example 1) und das
Write a Text File (Example 2) Abschnitten beschrieben, wie die
StreamWriter -Klasse verwendet, um Text in eine Datei zu schreiben.
Lesen einer Textdatei
Der folgende Code verwendet die
StreamReader -Klasse öffnen, lesen und die Textdatei zu schließen. Sie können den Pfad einer Textdatei an den Konstruktor
StreamReader zum Öffnen der Datei automatisch übergeben. Die
ReadLine -Methode liest jede Textzeile und den Dateizeiger an der nächsten Zeile erhöht, wie es liest. Wenn die
ReadLine -Methode das Ende der Datei erreicht, wird ein null-Verweis.
- Erstellen Sie eine Beispiel-Textdatei in Editor. Gehen Sie hierzu folgendermaßen vor:
- Fügen Sie folgenden Text im Editor:
- Speichern Sie die Datei als Sample.txt.
- Starten Sie Microsoft Visual Studio.
- Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
- Klicken Sie unter Projekttypen auf Visual C#-Projekte , und klicken Sie dann unter Vorlagen auf Konsolenanwendung
Hinweis: Klicken Sie in Visual Studio 2005 oder Visual Studio 2008 auf Visual c# unter Projekttypen , und klicken Sie dann unter Vorlagen auf Konsolenanwendung . - Fügen Sie den folgenden Code am Anfang der Datei Class1.cs: Hinweis In Visual Studio 2005 oder Visual Studio 2008, die standardmäßige Datei Program.cs ist.
- Fügen Sie der Main -Methode den folgenden Code:
String line;
try
{
//Pass the file path and file name to the StreamReader constructor
StreamReader sr = new StreamReader("C:\\Sample.txt");
//Read the first line of text
line = sr.ReadLine();
//Continue to read until you reach end of file
while (line != null)
{
//write the lie to console window
Console.WriteLine(line);
//Read the next line
line = sr.ReadLine();
}
//close the file
sr.Close();
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
- Klicken Sie im Debug auf Starten , zum Kompilieren und zum Ausführen der Anwendung. Drücken Sie EINGABETASTE, um das Konsolenfenster zu schließen. Das Konsolenfenster zeigt den Inhalt der Sample.txt Datei.
Schreiben einer Textdatei (Beispiel 1)
Der folgende Code verwendet die
StreamWriter -Klasse öffnen, schreiben und die Textdatei zu schließen. In ähnlicher Weise auf die
StreamReader -Klasse können Sie den Pfad einer Textdatei an den
StreamWriter -Konstruktor zum Öffnen der Datei automatisch übergeben. Die
WriteLine -Methode schreibt eine vollständige Textzeile in die Textdatei.
- Starten Sie Visual Studio.
- Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
- Klicken Sie unter Projekttypen auf Visual C#-Projekte , und klicken Sie dann unter Vorlagen auf Konsolenanwendung .
Hinweis: Klicken Sie in Visual Studio 2005 oder Visual Studio 2008 auf Visual c# unter Projekttypen , und klicken Sie dann unter Vorlagen auf CLR-Konsolenanwendung . - Fügen Sie den folgenden Code am Anfang der Datei Class1.cs:
- Fügen Sie der Main -Methode den folgenden Code:
try
{
//Pass the filepath and filename to the StreamWriter Constructor
StreamWriter sw = new StreamWriter("C:\\Test.txt");
//Write a line of text
sw.WriteLine("Hello World!!");
//Write a second line of text
sw.WriteLine("From the StreamWriter class");
//Close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
} - Klicken Sie im Debug auf Starten , zum Kompilieren und zum Ausführen der Anwendung. Dieser Code erstellt eine Datei mit dem Namen Test.txt auf Laufwerk c: Öffnen Test.txt in einem Texteditor wie Editor. Test.txt enthält zwei Textzeilen:
Hello World!!
From the StreamWriter class
Schreiben einer Textdatei (Beispiel 2)
Der folgende Code verwendet die
StreamWriter -Klasse öffnen, schreiben und die Textdatei zu schließen. Im Gegensatz zum vorherigen Beispiel übergibt diesen Code zwei zusätzliche Parameter an den Konstruktor. Der erste Parameter ist der Pfad und den Dateinamen der Datei. Der zweite Parameter,
true gibt an, dass die Datei geöffnet ist im append-Modus. Wenn Sie für den zweiten Parameter
False angeben, werden der Inhalt der Datei jedes Mal überschrieben Sie den Code ausführen. Der dritte Parameter gibt
Unicode , damit
StreamWriter die Datei im Unicode-Format codiert. Sie können auch die folgenden Codieren Methoden für den dritten Parameter angeben:
Die
Write -Methode ähnelt die
WriteLine -Methode, außer dass die
Write -Methode nicht automatisch einen Wagenrücklauf bettet oder Zeilenvorschub (CR/LF) Zeichen Kombination. Dies ist nützlich, wenn ein Zeichen zu einem Zeitpunkt geschrieben werden soll.
- Starten Sie Visual Studio.
- Zeigen im Menü Datei auf neu , und klicken Sie dann auf Projekt .
- Klicken Sie unter Projekttypen auf Visual C#-Projekte , und klicken Sie dann unter Vorlagen auf Konsolenanwendung
Hinweis: Klicken Sie in Visual Studio 2005 oder Visual Studio 2008 Visual c# unter auf Projekttypen , und klicken Sie dann unter Vorlagen auf Konsolenanwendung - Fügen Sie den folgenden Code am Anfang der Datei Class1.cs :
using System.IO;
using System.Text;
Hinweis In Visual Studio 2005 oder Visual Studio 2008, die Standarddatei ist Program.cs. - Fügen Sie der Main -Methode den folgenden Code:
Int64 x;
try
{
//Open the File
StreamWriter sw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);
//Writeout the numbers 1 to 10 on the same line.
for(x=0; x < 10; x++)
{
sw.Write(x);
}
//close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
} - Klicken Sie im Debug auf Starten , zum Kompilieren und zum Ausführen der Anwendung. Dieser Code erstellt eine Datei mit dem Namen Test1.txt auf Laufwerk c: Öffnen Test1.txt in einem Texteditor wie Editor. Test1.txt enthält eine einzelne Textzeile:
Vollständige Codeauflistung
- Lesen eine Textdatei
//Read a Text File
using System;
using System.IO;
namespace readwriteapp
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
String line;
try
{
//Pass the file path and file name to the StreamReader constructor
StreamReader sr = new StreamReader("C:\\Sample.txt");
//Read the first line of text
line = sr.ReadLine();
//Continue to read until you reach end of file
while (line != null)
{
//write the lie to console window
Console.WriteLine(line);
//Read the next line
line = sr.ReadLine();
}
//close the file
sr.Close();
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
}
}
- Schreiben einer Textdatei (Version 1)
//Write a text file - Version-1
using System;
using System.IO;
namespace readwriteapp
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
try
{
//Pass the filepath and filename to the StreamWriter Constructor
StreamWriter sw = new StreamWriter("C:\\Test.txt");
//Write a line of text
sw.WriteLine("Hello World!!");
//Write a second line of text
sw.WriteLine("From the StreamWriter class");
//Close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
}
} - Schreiben einer Textdatei (Version 2)
//Write a text file - Version 2
using System;
using System.IO;
using System.Text;
namespace readwriteapp
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Int64 x;
try
{
//Open the File
StreamWriter sw = new StreamWriter("C:\\Test1.txt", true, Encoding.ASCII);
//Writeout the numbers 1 to 10 on the same line.
for(x=0; x < 10; x++)
{
sw.Write(x);
}
//close the file
sw.Close();
}
catch(Exception e)
{
Console.WriteLine("Exception: " + e.Message);
}
finally
{
Console.WriteLine("Executing finally block.");
}
}
}
}
Problembehandlung
Alle Datei-Manipulationen ist es guter Programmierstil, den Code in einem
Try-Catch-finally -Block, Fehler und Ausnahmen behandeln umbrochen. Insbesondere sollten Sie die Ziehpunkte, um die Datei in den letzten Block freigeben, sodass die Datei nicht unbegrenzt gesperrt ist. Einige mögliche Fehler enthält eine Datei, die nicht vorhanden ist oder eine Datei, die bereits verwendet wird.
Artikel-ID: 816149 - Geändert am: Donnerstag, 17. Mai 2007 - Version: 3.8
Die Informationen in diesem Artikel beziehen sich auf:
- Microsoft Visual C# .NET 2003 Standard Edition
- Microsoft Visual C# 2005 Express Edition
- Microsoft Visual C# 2008 Express Edition
| kbmt kbfileio kbconsole kbhowtomaster kbhowto KB816149 KbMtde |
Maschinell übersetzter ArtikelWichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen:
816149
(http://support.microsoft.com/kb/816149/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.