StreamWriter-Konstruktor (String, Boolean)
Initialisiert für die angegebene Datei im angegebenen Pfad eine neue Instanz der StreamWriter-Klasse unter Verwendung der Standardcodierung und -puffergröße. Wenn die Datei vorhanden ist, kann sie überschrieben oder angefügt werden. Wenn die Datei nicht vorhanden ist, erstellt dieser Konstruktor eine neue Datei.
Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Sub New ( _
path As String, _
append As Boolean _
)
'Usage
Dim path As String
Dim append As Boolean
Dim instance As New StreamWriter(path, append)
public StreamWriter (
string path,
bool append
)
public:
StreamWriter (
String^ path,
bool append
)
public StreamWriter (
String path,
boolean append
)
public function StreamWriter (
path : String,
append : boolean
)
Parameter
- path
Der vollständige Dateipfad, in den geschrieben werden soll.
- append
Bestimmt, ob Daten an die Datei angehängt werden sollen. Wenn die Datei vorhanden ist und append den Wert false hat, wird die Datei überschrieben. Wenn die Datei vorhanden ist und append den Wert true hat, werden die Daten an die Datei angefügt. Andernfalls wird eine neue Datei erstellt.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Zugriff wird verweigert. |
|
path ist leer. – oder – path enthält den Namen eines Systemgeräts (com1, com2 usw.). |
|
path ist NULL (Nothing in Visual Basic). |
|
Der angegebene Pfad ist ungültig. Dies ist z. B. der Fall, wenn das Laufwerk des Pfads nicht zugeordnet ist. |
|
path enthält eine falsche oder ungültige Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung. |
|
Der angegebene Pfad und/oder der Dateiname überschreiten die vom System vorgegebene Höchstlänge. Beispielsweise dürfen auf Windows-Plattformen Pfade nicht länger als 247 Zeichen und Dateinamen nicht länger als 259 Zeichen sein. |
|
Der Aufrufer verfügt nicht über die erforderliche Berechtigung. |
Hinweise
Dieser Konstruktor erstellt einen StreamWriter mit UTF-8-Codierung ohne Bytereihenfolgemarkierung (BOM, Byte Order Mark), sodass die GetPreamble-Methode ein leeres Bytearray zurückgibt. Weitere Informationen finden Sie unter Encoding.
Der path-Parameter kann ein Dateiname sein, u. a. eine Datei in einer UNC-Freigabe (Universal Naming Convention).
Bei dem path-Parameter muss es sich nicht um eine auf dem Datenträger gespeicherte Datei handeln. Er kann ein beliebigen Teil eines Systems sein, das den Zugriff mithilfe von Streams unterstützt.
Warnung
Wenn Sie einen Zeichensatz mit einer bestimmten Kultureinstellung kompilieren und die gleichen Zeichen mit einer anderen Kultureinstellung abrufen, können diese möglicherweise nicht interpretiert werden, und es wird eine Ausnahme ausgelöst.
Ein Beispiel für die Verwendung dieser Klasse finden Sie im Beispielabschnitt. In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.
Aufgabe |
Beispiel in diesem Thema |
---|---|
Eine Textdatei erstellen. |
|
In eine Textdatei schreiben. |
|
Aus einer Textdatei lesen. |
|
Text an eine Datei anfügen. |
|
Die Größe einer Datei abrufen. |
|
Die Attribute einer Datei abrufen. |
|
Die Attribute einer Datei festlegen. |
|
Bestimmen, ob eine Datei vorhanden ist. |
|
Aus einer Binärdatei lesen. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
In eine Binärdatei schreiben. |
Gewusst wie: Lesen und Schreiben einer neu erstellten Datendatei |
Beispiel
Im folgenden Codebeispiel wird der StreamWriter-Konstruktor veranschaulicht.
Public Sub CreateTextFile(ByVal FileName As String, _
ByVal TextToAdd As String)
Dim Fs As FileStream = New FileStream(FileName, _
FileMode.CreateNew, FileAccess.Write, FileShare.None)
Dim SwFromFile As StreamWriter = New StreamWriter(FileName)
SwFromFile.Write(TextToAdd)
SwFromFile.Flush()
SwFromFile.Close()
Dim SwFromFileStream As StreamWriter = New StreamWriter(Fs)
SwFromFileStream.Write(TextToAdd)
SwFromFileStream.Flush()
SwFromFileStream.Close()
Dim SwFromFileStreamDefaultEnc As StreamWriter = _
New StreamWriter(Fs, System.Text.Encoding.Default)
SwFromFileStreamDefaultEnc.Write(TextToAdd)
SwFromFileStreamDefaultEnc.Flush()
SwFromFileStreamDefaultEnc.Close()
Dim SwFromFileTrue As StreamWriter = _
New StreamWriter(FileName, True)
SwFromFileTrue.Write(TextToAdd)
SwFromFileTrue.Flush()
SwFromFileTrue.Close()
Dim SwFromFileTrueUTF8Buffer = _
New StreamWriter(FileName, _
True, System.Text.Encoding.UTF8, 512)
SwFromFileTrueUTF8Buffer.Write(TextToAdd)
SwFromFileTrueUTF8Buffer.Flush()
SwFromFileTrueUTF8Buffer.Close()
Dim SwFromFileTrueUTF8 = _
New StreamWriter(FileName, True, _
System.Text.Encoding.UTF8)
SwFromFileTrueUTF8.Write(TextToAdd)
SwFromFileTrueUTF8.Flush()
SwFromFileTrueUTF8.Close()
Dim SwFromFileStreamUTF8Buffer = _
New StreamWriter(Fs, System.Text.Encoding.UTF8, 512)
SwFromFileStreamUTF8Buffer.Write(textToAdd)
SwFromFileStreamUTF8Buffer.Flush()
SwFromFileStreamUTF8Buffer.Close()
End Sub
public void CreateTextFile(string fileName, string textToAdd)
{
string logFile = DateTime.Now.ToShortDateString()
.Replace(@"/",@"-").Replace(@"\",@"-") + ".log";
FileStream fs = new FileStream(fileName,
FileMode.CreateNew, FileAccess.Write, FileShare.None);
StreamWriter swFromFile = new StreamWriter(logFile);
swFromFile.Write(textToAdd);
swFromFile.Flush();
swFromFile.Close();
StreamWriter swFromFileStream = new StreamWriter(fs);
swFromFileStream.Write(textToAdd);
swFromFileStream.Flush();
swFromFileStream.Close();
StreamWriter swFromFileStreamDefaultEnc =
new System.IO.StreamWriter(fs,
System.Text.Encoding.Default);
swFromFileStreamDefaultEnc.Write(textToAdd);
swFromFileStreamDefaultEnc.Flush();
swFromFileStreamDefaultEnc.Close();
StreamWriter swFromFileTrue =
new StreamWriter(fileName,true);
swFromFileTrue.Write(textToAdd);
swFromFileTrue.Flush();
swFromFileTrue.Close();
StreamWriter swFromFileTrueUTF8Buffer =
new StreamWriter(fileName,
true, System.Text.Encoding.UTF8,512);
swFromFileTrueUTF8Buffer.Write(textToAdd);
swFromFileTrueUTF8Buffer.Flush();
swFromFileTrueUTF8Buffer.Close();
StreamWriter swFromFileTrueUTF8 =
new StreamWriter(fileName, true,
System.Text.Encoding.UTF8);
swFromFileTrueUTF8.Write(textToAdd);
swFromFileTrueUTF8.Flush();
swFromFileTrueUTF8.Close();
StreamWriter swFromFileStreamUTF8Buffer =
new StreamWriter(fs, System.Text.Encoding.UTF8, 512);
swFromFileStreamUTF8Buffer.Write(textToAdd);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
}
void CreateTextFile( String^ fileName, String^ textToAdd )
{
String^ logFile = String::Concat( DateTime::Now.ToShortDateString()
->Replace( "/", "-" )->Replace( "\\", "-" ), ".log" );
FileStream^ fs = gcnew FileStream( fileName,
FileMode::CreateNew, FileAccess::Write, FileShare::None );
StreamWriter^ swFromFile = gcnew StreamWriter( logFile );
swFromFile->Write( textToAdd );
swFromFile->Flush();
swFromFile->Close();
StreamWriter^ swFromFileStream = gcnew StreamWriter( fs );
swFromFileStream->Write( textToAdd );
swFromFileStream->Flush();
swFromFileStream->Close();
StreamWriter^ swFromFileStreamDefaultEnc =
gcnew System::IO::StreamWriter( fs,
System::Text::Encoding::Default );
swFromFileStreamDefaultEnc->Write( textToAdd );
swFromFileStreamDefaultEnc->Flush();
swFromFileStreamDefaultEnc->Close();
StreamWriter^ swFromFileTrue =
gcnew StreamWriter( fileName,true );
swFromFileTrue->Write( textToAdd );
swFromFileTrue->Flush();
swFromFileTrue->Close();
StreamWriter^ swFromFileTrueUTF8Buffer =
gcnew StreamWriter( fileName,
true, System::Text::Encoding::UTF8, 512 );
swFromFileTrueUTF8Buffer->Write( textToAdd );
swFromFileTrueUTF8Buffer->Flush();
swFromFileTrueUTF8Buffer->Close();
StreamWriter^ swFromFileTrueUTF8 =
gcnew StreamWriter( fileName, true,
System::Text::Encoding::UTF8 );
swFromFileTrueUTF8->Write( textToAdd );
swFromFileTrueUTF8->Flush();
swFromFileTrueUTF8->Close();
StreamWriter^ swFromFileStreamUTF8Buffer =
gcnew StreamWriter( fs, System::Text::Encoding::UTF8, 512 );
swFromFileStreamUTF8Buffer->Write( textToAdd );
swFromFileStreamUTF8Buffer->Flush();
swFromFileStreamUTF8Buffer->Close();
}
public void CreateTextFile(String fileName, String textToAdd)
{
String logFile = DateTime.get_Now().ToShortDateString().
Replace("/", "-").Replace("\\", "-") + ".log";
FileStream fs = new FileStream(fileName, FileMode.CreateNew,
FileAccess.Write, FileShare.None);
StreamWriter swFromFile = new StreamWriter(logFile);
swFromFile.Write(textToAdd);
swFromFile.Flush();
swFromFile.Close();
StreamWriter swFromFileStream = new StreamWriter(fs);
swFromFileStream.Write(textToAdd);
swFromFileStream.Flush();
swFromFileStream.Close();
StreamWriter swFromFileStreamDefaultEnc =
new System.IO.StreamWriter(fs,System.Text.Encoding.get_Default());
swFromFileStreamDefaultEnc.Write(textToAdd);
swFromFileStreamDefaultEnc.Flush();
swFromFileStreamDefaultEnc.Close();
StreamWriter swFromFileTrue = new StreamWriter(fileName, true);
swFromFileTrue.Write(textToAdd);
swFromFileTrue.Flush();
swFromFileTrue.Close();
StreamWriter swFromFileTrueUTF8Buffer = new StreamWriter(fileName,
true, System.Text.Encoding.get_UTF8(), 512);
swFromFileTrueUTF8Buffer.Write(textToAdd);
swFromFileTrueUTF8Buffer.Flush();
swFromFileTrueUTF8Buffer.Close();
StreamWriter swFromFileTrueUTF8 = new StreamWriter(fileName,
true, System.Text.Encoding.get_UTF8());
swFromFileTrueUTF8.Write(textToAdd);
swFromFileTrueUTF8.Flush();
swFromFileTrueUTF8.Close();
StreamWriter swFromFileStreamUTF8Buffer = new StreamWriter(fs,
System.Text.Encoding.get_UTF8(), 512);
swFromFileStreamUTF8Buffer.Write(textToAdd);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
} //CreateTextFile
.NET Framework-Sicherheit
- FileIOPermission zum Lesen und Schreiben von Dateien. Zugeordnete Enumeration: FileIOPermissionAccess.Read, FileIOPermissionAccess.Write
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
StreamWriter-Klasse
StreamWriter-Member
System.IO-Namespace
Weitere Ressourcen
Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei