Bestandsverwerking in C#: I/O Operaties [Voorbeelden]

C# heeft een breed scala aan bestandsbewerkingen. Deze bewerkingen omvatten het openen van een bestand, het lezen van of schrijven naar een bestand. Er kunnen gevallen zijn waarin u rechtstreeks met bestanden wilt werken, in welk geval u de bestandsbewerkingen zou gebruiken die beschikbaar zijn in C#. Enkele van de basisbestandsbewerkingen worden hieronder genoemd.

  1. Lezen – Deze bewerking is de basisleesbewerking waarbij gegevens uit een bestand worden gelezen.
  2. Schrijven – Deze bewerking is de basisschrijfbewerking waarbij gegevens naar een bestand worden geschreven. Standaard worden alle bestaande inhoud uit het bestand verwijderd en wordt nieuwe inhoud geschreven.
  3. Appending – Deze bewerking omvat ook het schrijven van informatie naar een bestand. Het enige verschil is dat de bestaande gegevens in een bestand niet worden overschreven. De nieuwe gegevens die moeten worden geschreven, worden aan het einde van het bestand toegevoegd.

Basis I/O-opdrachten

C# en .Net kunnen met bestanden werken met behulp van verschillende File I/O-opdrachten. Laten we eens een paar van deze commando's bekijken. Voor ons voorbeeld gaan we ervan uit dat we een bestand op de D-schijf hebben met de naam Voorbeeld.txt.
Het bestand zal een eenvoudig tekstbestand zijn en twee regels bevatten, zoals hieronder weergegeven

  • Guru99 – .Net
  • Guru99 -C#

Voor ons voorbeeld zullen we een eenvoudige Console-applicatie maken en werken met onze File I/O-opdrachten. De consoleapplicatie is de basisapplicatie die in de eerdere tutorial is gemaakt. In de consoletoepassing wordt alle code naar het bestand program.cs geschreven.

Bestand bestaat

De methode Bestand bestaat wordt gebruikt om te controleren of een bepaald bestand bestaat. Laten we nu eens kijken naar de code die kan worden gebruikt om te controleren of ons voorbeeld.txt-bestand bestaat of niet. Voer de onderstaande code in het program.cs-bestand in.

Bestand bestaat

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-uitleg: -

  1. Eerst stellen we een stringvariabele in met het pad naar ons voorbeeld.txt-bestand.
  2. Vervolgens gebruiken we de File.Exists-methode om te controleren of het bestand bestaat of niet. Als het bestand bestaat, wordt een echte waarde geretourneerd.
  3. Als we een echte waarde krijgen en het bestand bestaat, schrijven we het bericht "Bestand bestaat" naar de console.

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer.

Uitgang: -

Bestand bestaat

Uit de bovenstaande uitvoer kunt u zien dat de opdracht File.Exists succesvol is uitgevoerd en dat het juiste bericht in het consolevenster is weergegeven.

Bestand.ReadAlllines

De methode wordt gebruikt om alle regels één voor één in een bestand te lezen. De regels worden vervolgens opgeslagen in een stringarrayvariabele. Laten we eens kijken naar een voorbeeld. Voer de onderstaande code in het program.cs-bestand in.

Bestand.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-uitleg: -

  1. Eerst declareren we een stringarrayvariabele. Dit wordt gebruikt om het resultaat op te slaan dat wordt geretourneerd door de File.ReadAllLines-methode.
  2. Vervolgens gebruiken we de File.ReadAllLines-methode om alle regels uit ons tekstbestand te lezen. Het resultaat wordt vervolgens doorgegeven aan de variabele lines.
  3. Omdat we weten dat ons bestand slechts twee regels bevat, hebben we toegang tot de waarde van de arrayvariabelen via de commando's lines[2] en lines[0].

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer.

Uitgang: -

Bestand.ReadAlllines

Uit de uitvoer kunt u zien dat de opdracht File.ReadAllLines beide regels uit ons bestand Preview.txt retourneert

Bestand.ReadAllText

Deze methode wordt gebruikt om alle regels in een bestand in één keer te lezen. De regels worden vervolgens opgeslagen in een stringvariabele. Laten we eens kijken naar een voorbeeld. Voer de onderstaande code in het program.cs-bestand in.

Bestand.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-uitleg: -

  1. Eerst declareren we een stringvariabele genaamd Lines. Dit wordt gebruikt om het resultaat op te slaan dat wordt geretourneerd door de File.ReadAllText-methode.
  2. Vervolgens gebruiken we de File.ReadAllText-methode om alle regels uit ons tekstbestand te lezen. Het resultaat wordt vervolgens doorgegeven aan de variabele lines.
  3. We kunnen de Console.Writeline-methode rechtstreeks gebruiken om de waarde van de Lines-variabele weer te geven.

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer.

Uitgang: -

Bestand.ReadAllText

Uit de uitvoer kunt u zien dat de opdracht File.ReadAlltext beide regels uit ons bestand Voorbeeld.txt retourneert

Bestand. Kopiëren

De methode wordt gebruikt om een ​​kopie te maken van een bestaand bestand. Laten we eens kijken naar een voorbeeld. Voer de onderstaande code in het program.cs-bestand in.

Bestand. Kopiëren

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-uitleg: -

  1. Eerst declareren we een stringvariabele genaamd path. Dit wordt de locatie van ons Example.txt-bestand. Dit bestand wordt het bronbestand dat wordt gebruikt voor de kopieerbewerking.
  2. Vervolgens declareren we een stringvariabele met de naam copypath. Dit is de locatie van een nieuw bestand met de naam VoorbeeldNew.txt-bestand. Dit zal het doelbestand zijn waarin de inhoud zal worden geschreven vanuit het bronbestand Voorbeeld.txt.
  3. Vervolgens roepen we de File.Copy-methode aan om het bestand Exemple.txt naar het bestand ExempleNew.txt te kopiëren.

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, wordt het bestand Example.txt gekopieerd naar ExampleNew.txt.

Bestand.Verwijderen

De methode wordt gebruikt om een ​​bestaand bestand te verwijderen. Laten we eens kijken naar een voorbeeld. Voer de onderstaande code in het program.cs-bestand in.

Bestand.Verwijderen

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-uitleg: -

  1. Eerst declareren we een stringvariabele genaamd path. Dit zal de locatie zijn van ons voorbeeld.txt-bestand. Dit is het bestand dat wordt verwijderd.
  2. Vervolgens roepen we de File.Delete-methode aan om het bestand te verwijderen.

Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, wordt het bestand Example.txt van schijf D verwijderd.

Samenvatting

  • C# heeft een aantal File-bewerkingen die op bestanden kunnen worden uitgevoerd. De meeste van deze bewerkingen maken deel uit van de klasse File.
  • Als u gegevens uit een bestand wilt lezen, kunt u de methoden File.ReadAlltext of File.ReadAllLines gebruiken.
Bestandsmethode Beschrijving
Bestand bestaat De methode Bestand bestaat wordt gebruikt om te controleren of een bepaald bestand bestaat.
Bestand.ReadAlllines De methode wordt gebruikt om alle regels één voor één in een bestand te lezen.
Bestand.ReadAllText Deze methode wordt gebruikt om alle regels in een bestand in één keer te lezen.
Bestand. Kopiëren De methode wordt gebruikt om een ​​kopie te maken van een bestaand bestand.
Bestand.Verwijderen De methode wordt gebruikt om een ​​bestaand bestand te verwijderen.