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

C# har et bredt spekter av filoperasjoner. Disse operasjonene inkluderer å åpne en fil, lese eller skrive til en fil. Det kan være tilfeller der du vil jobbe med filer direkte, i så fall vil du bruke filoperasjonene som er tilgjengelige i C#. Noen av de grunnleggende filoperasjonene er nevnt nedenfor.

  1. Lesing - Denne operasjonen er den grunnleggende leseoperasjonen der data leses fra en fil.
  2. Skriving - Denne operasjonen er den grunnleggende skriveoperasjonen der data skrives til en fil. Som standard fjernes alt eksisterende innhold fra filen, og nytt innhold skrives.
  3. Legge til – Denne operasjonen innebærer også å skrive informasjon til en fil. Den eneste forskjellen er at eksisterende data i en fil ikke overskrives. De nye dataene som skal skrives legges til på slutten av filen.

Grunnleggende I/O-kommandoer

C# og .Net kan jobbe med filer ved hjelp av flere File I/O-kommandoer. La oss ta en titt på noen av disse kommandoene. For vårt eksempel vil vi anta at vi har en fil i D-stasjonen som heter Eksempel.txt.
Filen vil være en enkel tekstfil og ha 2 linjer som vist nedenfor

  • Guru99 – .Net
  • Guru99 -C#

For eksempelet vårt vil vi lage en enkel konsollapplikasjon og jobbe med File I/O-kommandoer. Konsollapplikasjonen er den grunnleggende som ble opprettet i den tidligere opplæringen. I konsollapplikasjonen skrives all kode til program.cs-filen.

Fil.Eksisterer

Metoden File exists brukes til å sjekke om en bestemt fil eksisterer. Så la oss nå se koden som kan brukes til å sjekke om vår Example.txt-fil eksisterer eller ikke. Skriv inn koden nedenfor 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 setter vi en strengvariabel med banen til filen Eksempel.txt.
  2. Deretter bruker vi File.Exists-metoden for å sjekke om filen eksisterer eller ikke. Hvis filen eksisterer, vil en sann verdi returneres.
  3. Hvis vi får en sann verdi og filen eksisterer, skriver vi meldingen "File Exists" til konsollen.

Når koden ovenfor er satt, og prosjektet utføres ved hjelp av Visual Studio, vil du få utdataene nedenfor.

Produksjon:-

Fil.Eksisterer

Fra utdataene ovenfor kan du se at File.Exists-kommandoen ble utført vellykket, og riktig melding ble vist i konsollvinduet.

File.ReadAlllines

Metoden brukes til å lese alle linjene en etter en i en fil. Linjene lagres deretter i en string array-variabel. La oss se på et eksempel. Skriv inn koden nedenfor 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 string array-variabel. Dette vil bli brukt til å lagre resultatet som vil bli returnert av File.ReadAllLines-metoden.
  2. Deretter bruker vi File.ReadAllLines-metoden for å lese alle linjene fra tekstfilen vår. Resultatet sendes deretter til linjevariabelen.
  3. Siden vi vet at filen vår inneholder bare 2 linjer, kan vi få tilgang til verdien av matrisevariablene via kommandoene lines[0] og lines[1].

Når koden ovenfor er satt, og prosjektet kjøres med Visual Studio, vil du få utgangen nedenfor.

Produksjon:-

File.ReadAlllines

Fra utdataene kan du se at File.ReadAllLines-kommandoen returnerte begge linjene fra filen vår Example.txt

File.ReadAllText

Denne metoden brukes til å lese alle linjene i en fil samtidig. Linjene lagres deretter i en strengvariabel. La oss se på et eksempel. Skriv inn koden nedenfor 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 kalt Lines. Dette vil bli brukt til å lagre resultatet som vil bli returnert av File.ReadAllText-metoden.
  2. Deretter bruker vi File.ReadAllText-metoden for å lese alle linjene fra tekstfilen vår. Resultatet sendes deretter til linjevariabelen.
  3. Vi kan direkte bruke Console.Writeline-metoden for å vise verdien av Lines-variabelen.

Når koden ovenfor er satt, og prosjektet kjøres med Visual Studio, vil du få utdataene nedenfor.

Produksjon:-

File.ReadAllText

Fra utdataene kan du se at File.ReadAlltext-kommandoen returnerte begge linjene fra filen Eksempel.txt

File.Copy

Metoden brukes til å lage en kopi av en eksisterende fil. La oss se på et eksempel. Skriv inn koden nedenfor i program.cs-filen.

File.Copy

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 kalt sti. Dette vil være plasseringen til filen Example.txt. Denne filen vil være kildefilen som brukes for kopieringsoperasjonen.
  2. Deretter erklærer vi en strengvariabel kalt copypath. Dette vil være plasseringen til en ny fil kalt EksempelNy.txt-fil. Dette vil være målfilen der innholdet vil bli skrevet fra kildefilen Eksempel.txt.
  3. Vi kaller deretter File.Copy-metoden for å kopiere filen Eksempel.txt til filen EksempelNy.txt.

Når koden ovenfor er satt, og prosjektet kjøres med Visual Studio, vil filen Eksempel.txt bli kopiert til EksempelNy.txt.

Fil.Slett

Metoden brukes til å slette en eksisterende fil. La oss se på et eksempel. Skriv inn koden nedenfor i program.cs-filen.

Fil.Slett

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 kalt sti. Dette vil være plasseringen til filen Example.txt. Dette er filen som vil bli slettet.
  2. Deretter kaller vi File.Delete-metoden for å slette filen.

Når koden ovenfor er satt, og prosjektet kjøres med Visual Studio, vil filen Eksempel.txt bli slettet fra D-stasjonen.

Oppsummering

  • C# har en rekke filoperasjoner som kan utføres på filer. De fleste av disse operasjonene er en del av klassen File.
  • Hvis du vil lese data fra en fil, kan du bruke metodene File.ReadAlltext eller File.ReadAllLines.
Filmetode Description
Fil.Eksisterer File exists-metoden brukes til å sjekke om en bestemt fil eksisterer.
File.ReadAlllines Metoden brukes til å lese alle linjene en etter en i en fil.
File.ReadAllText Denne metoden brukes til å lese alle linjene i en fil samtidig.
File.Copy Metoden brukes til å lage en kopi av en eksisterende fil.
Fil.Slett Metoden brukes til å slette en eksisterende fil.