Filhåndtering i C#: I/O Operationer [Eksempler]

C# har en bred vifte af filoperationer. Disse handlinger omfatter at åbne en fil, læse eller skrive til en fil. Der kan være tilfælde, hvor du ønsker at arbejde med filer direkte, i hvilket tilfælde du ville bruge de filhandlinger, der er tilgængelige i C#. Nogle af de grundlæggende filhandlinger er nævnt nedenfor.

  1. Læsning - Denne operation er den grundlæggende læseoperation, hvor data læses fra en fil.
  2. Skrivning - Denne operation er den grundlæggende skriveoperation, hvor data skrives til en fil. Som standard fjernes alt eksisterende indhold fra filen, og nyt indhold skrives.
  3. Tilføjelse – Denne handling involverer også at skrive information til en fil. Den eneste forskel er, at de eksisterende data i en fil ikke overskrives. De nye data, der skal skrives, tilføjes i slutningen af ​​filen.

Grundlæggende I/O-kommandoer

C# og .Net kan arbejde med filer ved hjælp af flere File I/O kommandoer. Lad os se på nogle af disse kommandoer. For vores eksempel vil vi antage, at vi har en fil i D-drevet kaldet Eksempel.txt.
Filen vil være en simpel tekstfil og have 2 linjer som vist nedenfor

  • Guru99 – .Net
  • Guru99 -C#

For vores eksempel vil vi oprette en simpel konsolapplikation og arbejde med vores File I/O-kommandoer. Konsolapplikationen er den grundlæggende, som blev oprettet i den tidligere tutorial. I konsolapplikationen skrives al kode til filen program.cs.

Fil.Eksisterer

Metoden File exists bruges til at kontrollere, om en bestemt fil eksisterer. Så lad os nu se koden, som kan bruges til at kontrollere, om vores Eksempel.txt-fil eksisterer eller ej. Indtast nedenstående kode i program.cs filen.

Fil.Eksisterer

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();
  }
 }
}

Kodeforklaring:-

  1. Først indstiller vi en strengvariabel med stien til vores Eksempel.txt-fil.
  2. Dernæst bruger vi metoden File.Exists til at kontrollere, om filen eksisterer eller ej. Hvis filen eksisterer, returneres en sand værdi.
  3. Hvis vi får en sand værdi, og filen eksisterer, skriver vi beskeden "File Exists" til konsollen.

Når ovenstående kode er indstillet, og projektet udføres ved hjælp af Visual Studio, får du nedenstående output.

Produktion:-

Fil.Eksisterer

Fra ovenstående output kan du se, at kommandoen File.Exists blev udført med succes, og den korrekte meddelelse blev vist i konsolvinduet.

File.ReadAlllines

Metoden bruges til at læse alle linjerne én efter én i en fil. Linjerne gemmes derefter i en strengmatrixvariabel. Lad os se på et eksempel. Indtast nedenstående kode i program.cs filen.

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();
  }
 }
}

Kodeforklaring:-

  1. Først erklærer vi en strengmatrixvariabel. Dette vil blive brugt til at gemme resultatet, som vil blive returneret af metoden File.ReadAllLines.
  2. Dernæst bruger vi metoden File.ReadAllLines til at læse alle linjerne fra vores tekstfil. Resultatet overføres derefter til linjevariablen.
  3. Da vi ved, at vores fil kun indeholder 2 linjer, kan vi få adgang til værdien af ​​array-variablerne via kommandoerne lines[0] og lines[1].

Når ovenstående kode er indstillet, og projektet køres vha Visual Studio, får du nedenstående output.

Produktion:-

File.ReadAlllines

Fra outputtet kan du se, at kommandoen File.ReadAllLines returnerede begge linjer fra vores fil Eksempel.txt

File.ReadAllText

Denne metode bruges til at læse alle linjerne i en fil på én gang. Linjerne gemmes derefter i en strengvariabel. Lad os se på et eksempel. Indtast nedenstående kode i program.cs filen.

File.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();
   }
  }
}

Kodeforklaring:-

  1. Først erklærer vi en strengvariabel kaldet Lines. Dette vil blive brugt til at gemme resultatet, som vil blive returneret af metoden File.ReadAllText.
  2. Dernæst bruger vi File.ReadAllText-metoden til at læse alle linjerne fra vores tekstfil. Resultatet overføres derefter til linjevariablen.
  3. Vi kan direkte bruge Console.Writeline-metoden til at vise værdien af ​​Lines-variablen.

Når ovenstående kode er indstillet, og projektet køres ved hjælp af Visual Studio, får du nedenstående output.

Produktion:-

File.ReadAllText

Fra outputtet kan du se, at kommandoen File.ReadAlltext returnerede begge linjer fra vores fil Eksempel.txt

Fil.Kopi

Metoden bruges til at lave en kopi af en eksisterende fil. Lad os se på et eksempel. Indtast nedenstående kode i program.cs filen.

Fil.Kopi

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();
   }
  }
}

Kodeforklaring:-

  1. Først erklærer vi en strengvariabel kaldet sti. Dette vil være placeringen af ​​vores Eksempel.txt-fil. Denne fil vil være kildefilen, der bruges til kopieringen.
  2. Dernæst erklærer vi en strengvariabel kaldet copypath. Dette vil være placeringen af ​​en ny fil kaldet EksempelNy.txt-fil. Dette vil være destinationsfilen, hvori indholdet vil blive skrevet fra kildefilen Eksempel.txt.
  3. Vi kalder derefter File.Copy-metoden for at kopiere filen Eksempel.txt til filen EksempelNy.txt.

Når ovenstående kode er indstillet, og projektet køres ved hjælp af Visual Studio, vil filen Eksempel.txt blive kopieret til EksempelNy.txt.

Fil.Slet

Metoden bruges til at slette en eksisterende fil. Lad os se på et eksempel. Indtast nedenstående kode i program.cs filen.

Fil.Slet

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();
   }
  }
}

Kodeforklaring:-

  1. Først erklærer vi en strengvariabel kaldet sti. Dette vil være placeringen af ​​vores Eksempel.txt-fil. Dette er filen, som vil blive slettet.
  2. Dernæst kalder vi File.Delete-metoden for at slette filen.

Når ovenstående kode er indstillet, og projektet køres ved hjælp af Visual Studio, vil filen Eksempel.txt blive slettet fra D-drevet.

Resumé

  • C# har en række fil-operationer, som kan udføres på filer. De fleste af disse operationer er en del af klassen File.
  • Hvis du vil læse data fra en fil, kan du bruge metoderne File.ReadAlltext eller File.ReadAllLines.
Filmetode Produktbeskrivelse
Fil.Eksisterer Filen eksisterer metoden bruges til at kontrollere, om en bestemt fil eksisterer.
File.ReadAlllines Metoden bruges til at læse alle linjerne én efter én i en fil.
File.ReadAllText Denne metode bruges til at læse alle linjerne i en fil på én gang.
Fil.Kopi Metoden bruges til at lave en kopi af en eksisterende fil.
Fil.Slet Metoden bruges til at slette en eksisterende fil.