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

⚡ Smart oppsummering

C#-filoperasjoner lar deg lese, skrive, kopiere og slette filer ved hjelp av System.IO-navnerommet. Her lærer du å bruke File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy og File.Delete med tydelige kodeeksempler.

  • 📂 Hva det er: C#-filoperasjoner leser, skriver, kopierer og sletter filer gjennom System.IO-navneområdet.
  • Fil.eksisterer: File.Exists(path) sjekker om en fil finnes før du leser eller sletter den.
  • ???? Lesning: File.ReadAllLines returnerer en strengmatrise, mens File.ReadAllText returnerer hele filen som én streng.
  • ???? Kopier og slett: File.Copy dupliserer en fil til en ny bane, og File.Delete fjerner den.
  • 🤖 AI-hjelp: AI-verktøy som GitHub Copilot genererer C#-filhåndteringskode umiddelbart.

C#-fil Operasjoner

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

Code Forklaring:-

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

Code Forklaring:-

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

Code Forklaring:-

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

Code Forklaring:-

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

Code Forklaring:-

  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.

C#-filmetodereferanse

Tabellen nedenfor oppsummerer de viktigste C#-filmetodene og hva hver enkelt gjør.

Filmetode Tekniske beskrivelser
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.

Spørsmål og svar

C#-filoperasjoner lar deg lese, skrive, kopiere, legge til og slette filer. De fleste metodene tilhører System.IO.File-klassen, for eksempel File.Exists, File.ReadAllText, File.Copy og File.Delete.

Bruk File.Exists(path), som returnerer true når filen finnes og false ellers. Sjekk dette før du leser eller sletter en fil for å unngå kjøretidsunntak.

File.ReadAllLines returnerer hver linje som et element i en strengmatrise, mens File.ReadAllText returnerer hele filinnholdet som én enkelt streng.

Kall File.Copy(sourcePath, destinationPath). Dette oppretter en ny fil på destinasjonen som inneholder innholdet i kildefilen.

Kall File.Delete(path). Dette fjerner filen permanent, så bekreft at den finnes med File.Exists først for å unngå en FileNotFoundException.

AI-assistenter som GitHub Copilot autofullfører File.ReadAllText-, File.Copy- og File.Delete-kall og genererer try-catch-filhåndteringskode fra en kort kommentar som beskriver oppgaven.

Ja. AI-drevne verktøy genererer leser- og skrivemetoder, foreslår StreamReader- eller File-metoder og legger til unntakshåndtering slik at koden din er tryggere.

Legg til ved hjelp av System.IO; øverst i programmet ditt. Navnerommet System.IO inneholder File, StreamReader og StreamWriter klasser som brukes til filhåndtering.

Oppsummer dette innlegget med: