Dateihandhabung in C#: E/A Operationen [Beispiele]

โšก Intelligente Zusammenfassung

Mit C#-Dateioperationen kรถnnen Sie Dateien mithilfe des System.IO-Namespace lesen, schreiben, kopieren und lรถschen. Hier lernen Sie anhand anschaulicher Codebeispiele die Verwendung von File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy und File.Delete kennen.

  • ๐Ÿ“‚ Was es ist: C#-Dateioperationen lesen, schreiben, kopieren und lรถschen Dateien รผber den System.IO-Namespace.
  • โœ… Datei existiert: File.Exists(path) prรผft, ob eine Datei vorhanden ist, bevor Sie sie lesen oder lรถschen.
  • ???? Lesen: File.ReadAllLines gibt ein String-Array zurรผck, wรคhrend File.ReadAllText die gesamte Datei als einen einzigen String zurรผckgibt.
  • ๐Ÿ“‹ Kopieren und lรถschen: File.Copy kopiert eine Datei in einen neuen Pfad, File.Delete lรถscht sie.
  • ๐Ÿค– KI-Hilfe: KI-Tools wie GitHub Copilot generieren sofort C#-Dateiverarbeitungscode.

C#-Datei Operations

C# verfรผgt รผber eine breite Palette von Dateioperationen. Zu diesen Operationen gehรถren das ร–ffnen einer Datei sowie das Lesen oder Schreiben in eine Datei. Es kann Fรคlle geben, in denen Sie direkt mit Dateien arbeiten mรถchten. In diesem Fall verwenden Sie die in C# verfรผgbaren Dateioperationen. Einige der grundlegenden Dateioperationen sind unten aufgefรผhrt.

  1. Lesen โ€“ Dieser Vorgang ist der grundlegende Lesevorgang, bei dem Daten aus einer Datei gelesen werden.
  2. Schreiben โ€“ Dieser Vorgang ist der grundlegende Schreibvorgang, bei dem Daten in eine Datei geschrieben werden. StandardmรครŸig werden alle vorhandenen Inhalte aus der Datei entfernt und neue Inhalte geschrieben.
  3. Anhรคngen โ€“ Auch bei diesem Vorgang werden Informationen in eine Datei geschrieben. Der einzige Unterschied besteht darin, dass die vorhandenen Daten einer Datei nicht รผberschrieben werden. Die neu zu schreibenden Daten werden am Ende der Datei hinzugefรผgt.

Grundlegende E/A-Befehle

C# und .Net kรถnnen mithilfe mehrerer Datei-I/O-Befehle mit Dateien arbeiten. Schauen wir uns einige dieser Befehle an. Fรผr unser Beispiel gehen wir davon aus, dass wir im Laufwerk D eine Datei namens โ€žExample.txtโ€œ haben.
Die Datei ist eine einfache Textdatei und besteht aus zwei Zeilen, wie unten gezeigt

  • Guru99 โ€“ .NET
  • Guru99 -C#

Fรผr unser Beispiel erstellen wir eine einfache Konsolenanwendung und arbeiten mit unseren Datei-I/O-Befehlen. Die Konsolenanwendung ist die Basisanwendung, die im vorherigen Tutorial erstellt wurde. In der Konsolenanwendung wird der gesamte Code in die Datei program.cs geschrieben.

Datei existiert

Mit der Methode โ€žDatei vorhandenโ€œ wird รผberprรผft, ob eine bestimmte Datei vorhanden ist. Sehen wir uns nun den Code an, mit dem รผberprรผft werden kann, ob unsere Datei โ€žExample.txtโ€œ existiert oder nicht. Geben Sie den folgenden Code in die Datei program.cs ein.

Datei existiert

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";
   
   if (File.Exists(path))
   {
    Console.WriteLine("File Exists");
   }
   Console.ReadKey();
  }
 }
}

Code Erlรคuterung:-

  1. Zuerst legen wir eine String-Variable mit dem Pfad zu unserer Datei โ€žExample.txtโ€œ fest.
  2. Als nรคchstes verwenden wir die Methode File.Exists, um zu รผberprรผfen, ob die Datei existiert oder nicht. Wenn die Datei vorhanden ist, wird ein wahrer Wert zurรผckgegeben.
  3. Wenn wir einen wahren Wert erhalten und die Datei existiert, schreiben wir die Meldung โ€žFile Existsโ€œ in die Konsole.

Wenn der obige Code festgelegt und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe.

Ausgabe:-

Datei existiert

Aus der obigen Ausgabe kรถnnen Sie ersehen, dass der Befehl File.Exists erfolgreich ausgefรผhrt wurde und die richtige Meldung im Konsolenfenster angezeigt wurde.

File.ReadAlllines

Die Methode wird verwendet, um alle Zeilen einzeln in einer Datei zu lesen. Die Zeilen werden dann in einer String-Array-Variablen gespeichert. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.

File.ReadAlllines

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 class Tutorial
 {
  static void Main(string[] args)
  {
   String path = @"D:\Example.txt";

   String[] lines;
   lines = File.ReadAllLines(path);

   Console.WriteLine(lines[0]);
   Console.WriteLine(lines[1]);

   Console.ReadKey();
  }
 }
}

Code Erlรคuterung:-

  1. Zuerst deklarieren wir eine String-Array-Variable. Dies wird zum Speichern des Ergebnisses verwendet, das von der File.ReadAllLines-Methode zurรผckgegeben wird.
  2. Als nรคchstes verwenden wir die Methode File.ReadAllLines, um alle Zeilen aus unserer Textdatei zu lesen. Das Ergebnis wird dann an die Zeilenvariable รผbergeben.
  3. Da wir wissen, dass unsere Datei nur 2 Zeilen enthรคlt, kรถnnen wir รผber die Befehle โ€žlines[0]โ€œ und โ€žlines[1]โ€œ auf den Wert der Array-Variablen zugreifen.

Wenn der obige Code festgelegt ist und das Projekt mit ausgefรผhrt wird Visual Studio, erhalten Sie die folgende Ausgabe.

Ausgabe:-

File.ReadAlllines

Anhand der Ausgabe kรถnnen Sie erkennen, dass der Befehl โ€žFile.ReadAllLinesโ€œ beide Zeilen aus unserer Datei โ€žExample.txtโ€œ zurรผckgegeben hat

Datei.ReadAllText

Mit dieser Methode werden alle Zeilen einer Datei auf einmal gelesen. Die Zeilen werden dann in einer String-Variablen gespeichert. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.

Datei.ReadAllText

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
    String path = @"D:\Example.txt";

    String lines;
    lines = File.ReadAllText(path);
    Console.WriteLine(lines);
 
    Console.ReadKey();
   }
  }
}

Code Erlรคuterung:-

  1. Zuerst deklarieren wir eine String-Variable namens Lines. Dies wird zum Speichern des Ergebnisses verwendet, das von der File.ReadAllText-Methode zurรผckgegeben wird.
  2. Als nรคchstes verwenden wir die Methode File.ReadAllText, um alle Zeilen aus unserer Textdatei zu lesen. Das Ergebnis wird dann an die Zeilenvariable รผbergeben.
  3. Wir kรถnnen die Console.Writeline-Methode direkt verwenden, um den Wert der Lines-Variablen anzuzeigen.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, erhalten Sie die folgende Ausgabe.

Ausgabe:-

Datei.ReadAllText

Anhand der Ausgabe kรถnnen Sie erkennen, dass der Befehl โ€žFile.ReadAlltextโ€œ beide Zeilen aus unserer Datei โ€žExample.txtโ€œ zurรผckgegeben hat

Datei.Kopieren

Die Methode wird verwendet, um eine Kopie einer vorhandenen Datei zu erstellen. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.

Datei.Kopieren

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   String copypath = @"D:\ExampleNew.txt";

   File.Copy(path,copypath);

   Console.ReadKey();
   }
  }
}

Code Erlรคuterung:-

  1. Zuerst deklarieren wir eine String-Variable namens Pfad. Dies ist der Speicherort unserer Datei Example.txt. Diese Datei ist die Quelldatei, die fรผr den Kopiervorgang verwendet wird.
  2. Als nรคchstes deklarieren wir eine String-Variable namens copypath. Dies ist der Speicherort einer neuen Datei namens โ€žExampleNew.txtโ€œ. Dies ist die Zieldatei, in die der Inhalt aus der Quelldatei โ€žExample.txtโ€œ geschrieben wird.
  3. AnschlieรŸend rufen wir die Methode File.Copy auf, um die Datei โ€žExample.txtโ€œ in die Datei โ€žExampleNew.txtโ€œ zu kopieren.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, wird die Datei Example.txt nach ExampleNew.txt kopiert.

Datei.Lรถschen

Die Methode dient zum Lรถschen einer vorhandenen Datei. Schauen wir uns ein Beispiel an. Geben Sie den folgenden Code in die Datei program.cs ein.

Datei.Lรถschen

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
  class Tutorial
  {
   static void Main(string[] args)
   {
   String path = @"D:\Example.txt";

   File.Delete(path);

   Console.ReadKey();
   }
  }
}

Code Erlรคuterung:-

  1. Zuerst deklarieren wir eine String-Variable namens path. Dies ist der Speicherort unserer Datei โ€žExample.txtโ€œ. Dies ist die Datei, die gelรถscht wird.
  2. Als nรคchstes rufen wir die Methode File.Delete auf, um die Datei zu lรถschen.

Wenn der obige Code festgelegt ist und das Projekt mit Visual Studio ausgefรผhrt wird, wird die Datei Example.txt vom Laufwerk D gelรถscht.

C#-Dateimethodenreferenz

Die folgende Tabelle fasst die wichtigsten C#-Dateimethoden und ihre jeweilige Funktion zusammen.

Dateimethode Beschreibung
Datei existiert Mit der Methode โ€žDatei vorhandenโ€œ wird รผberprรผft, ob eine bestimmte Datei vorhanden ist.
File.ReadAlllines Die Methode wird verwendet, um alle Zeilen einzeln in einer Datei zu lesen.
Datei.ReadAllText Mit dieser Methode werden alle Zeilen einer Datei auf einmal gelesen.
Datei.Kopieren Die Methode wird verwendet, um eine Kopie einer vorhandenen Datei zu erstellen.
Datei.Lรถschen Die Methode dient zum Lรถschen einer vorhandenen Datei.

Hรคufig gestellte Fragen

Mit C#-Dateioperationen kรถnnen Sie Dateien lesen, schreiben, kopieren, anhรคngen und lรถschen. Die meisten Methoden gehรถren zur Klasse System.IO.File, beispielsweise File.Exists, File.ReadAllText, File.Copy und File.Delete.

Verwenden Sie `File.Exists(path)`, das `true` zurรผckgibt, wenn die Datei existiert, und andernfalls `false`. Prรผfen Sie dies vor dem Lesen oder Lรถschen einer Datei, um Laufzeitfehler zu vermeiden.

File.ReadAllLines gibt jede Zeile als Element eines String-Arrays zurรผck, wรคhrend File.ReadAllText den gesamten Dateiinhalt als einzelne Zeichenkette zurรผckgibt.

Rufen Sie File.Copy(sourcePath, destinationPath) auf. Dadurch wird am Zielort eine neue Datei erstellt, die den Inhalt der Quelldatei enthรคlt.

Rufen Sie File.Delete(Pfad) auf. Dadurch wird die Datei endgรผltig gelรถscht. Prรผfen Sie daher vorher mit File.Exists, ob die Datei existiert, um eine FileNotFoundException zu vermeiden.

KI-Assistenten wie GitHub Copilot vervollstรคndigen automatisch die Aufrufe von File.ReadAllText, File.Copy und File.Delete und generieren aus einem kurzen Kommentar, der die Aufgabe beschreibt, try-catch-Code zur Dateiverarbeitung.

Ja. KI-gestรผtzte Tools generieren Reader- und Writer-Methoden, schlagen StreamReader- oder File-Methoden vor und fรผgen eine Ausnahmebehandlung hinzu, um Ihren Code sicherer zu machen.

Fรผgen Sie am Anfang Ihres Programms die Zeile `using System.IO;` hinzu. Der Namespace `System.IO` enthรคlt die Klassen `File`, `StreamReader` und `Stream`.Writer Klassen, die fรผr die Dateiverarbeitung verwendet werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: