Filhantering i C#: I/O Operationer [Exempel]

⚡ Smart sammanfattning

Med C#-filoperationer kan du läsa, skriva, kopiera och ta bort filer med namnrymden System.IO. Här lär du dig att använda File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy och File.Delete med tydliga kodexempel.

  • 📂 Vad det är: C#-filåtgärder läser, skriver, kopierar och tar bort filer via namnrymden System.IO.
  • Fil.Exists: File.Exists(path) kontrollerar om en fil finns innan du läser eller tar bort den.
  • ???? Läsning: File.ReadAllLines returnerar en strängmatris, medan File.ReadAllText returnerar hela filen som en sträng.
  • 📋 Kopiera och radera: File.Copy duplicerar en fil till en ny sökväg och File.Delete tar bort den.
  • 🤖 AI-hjälp: AI-verktyg som GitHub Copilot genererar C#-filhanteringskod direkt.

C#-fil Operationer

C# har ett brett utbud av filoperationer. Dessa operationer inkluderar att öppna en fil, läsa eller skriva till en fil. Det kan finnas tillfällen där du vill arbeta med filer direkt, i vilket fall du skulle använda filoperationerna som är tillgängliga i C#. Några av de grundläggande filoperationerna nämns nedan.

  1. Läsning – Denna operation är den grundläggande läsoperationen där data läses från en fil.
  2. Skrivning – Denna operation är den grundläggande skrivoperationen där data skrivs till en fil. Som standard tas allt befintligt innehåll bort från filen och nytt innehåll skrivs.
  3. Bifoga – Denna operation innebär också att du skriver information till en fil. Den enda skillnaden är att befintlig data i en fil inte skrivs över. De nya data som ska skrivas läggs till i slutet av filen.

Grundläggande I/O-kommandon

C# och .Net kan arbeta med filer med hjälp av flera File I/O-kommandon. Låt oss ta en titt på några av dessa kommandon. För vårt exempel kommer vi att anta att vi har en fil i D-enheten som heter Exempel.txt.
Filen kommer att vara en enkel textfil och ha 2 rader som visas nedan

  • Guru99 – .Net
  • Guru99-C#

För vårt exempel kommer vi att skapa en enkel konsolapplikation och arbeta med våra File I/O-kommandon. Konsolapplikationen är den grundläggande som skapades i den tidigare handledningen. I konsolapplikationen skrivs all kod till filen program.cs.

Fil existerar

Metoden File exists används för att kontrollera om en viss fil finns. Så låt oss nu se koden som kan användas för att kontrollera om vår Exempel.txt-fil finns eller inte. Ange koden nedan i filen program.cs.

Fil existerar

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 Förklaring:-

  1. Först ställer vi in ​​en strängvariabel med sökvägen till vår Exempel.txt-fil.
  2. Därefter använder vi metoden File.Exists för att kontrollera om filen finns eller inte. Om filen finns kommer ett sant värde att returneras.
  3. Om vi ​​får ett sant värde och filen existerar, skriver vi meddelandet "File Exists" till konsolen.

När ovanstående kod är inställd och projektet körs med Visual Studio, får du utdata nedan.

Produktion:-

Fil existerar

Från ovanstående utdata kan du se att File.Exists-kommandot kördes framgångsrikt och att rätt meddelande visades i konsolfönstret.

File.ReadAlllines

Metoden används för att läsa alla rader en efter en i en fil. Raderna lagras sedan i en strängmatrisvariabel. Låt oss titta på ett exempel. Ange koden nedan i filen program.cs.

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 Förklaring:-

  1. Först deklarerar vi en strängmatrisvariabel. Detta kommer att användas för att lagra resultatet som kommer att returneras av metoden File.ReadAllLines.
  2. Därefter använder vi metoden File.ReadAllLines för att läsa alla rader från vår textfil. Resultatet skickas sedan till variabeln linjer.
  3. Eftersom vi vet att vår fil bara innehåller 2 rader kan vi komma åt värdet på arrayvariablerna via kommandona lines[0] och lines[1].

När ovanstående kod är inställd och projektet körs med Visual Studio, får du utdata nedan.

Produktion:-

File.ReadAlllines

Från utdata kan du se att kommandot File.ReadAllLines returnerade båda raderna från vår fil Exempel.txt

File.ReadAllText

Denna metod används för att läsa alla rader i en fil på en gång. Raderna lagras sedan i en strängvariabel. Låt oss titta på ett exempel. Ange koden nedan i filen program.cs.

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 Förklaring:-

  1. Först deklarerar vi en strängvariabel som heter Lines. Detta kommer att användas för att lagra resultatet som kommer att returneras av metoden File.ReadAllText.
  2. Därefter använder vi metoden File.ReadAllText för att läsa alla rader från vår textfil. Resultatet skickas sedan till variabeln linjer.
  3. Vi kan direkt använda metoden Console.Writeline för att visa värdet på variabeln Lines.

När ovanstående kod är inställd och projektet körs med Visual Studio, får du utdata nedan.

Produktion:-

File.ReadAllText

Från utdata kan du se att kommandot File.ReadAlltext returnerade båda raderna från vår fil Exempel.txt

File.Copy

Metoden används för att göra en kopia av en befintlig fil. Låt oss titta på ett exempel. Ange koden nedan i filen program.cs.

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 Förklaring:-

  1. Först deklarerar vi en strängvariabel som kallas sökväg. Detta kommer att vara platsen för vår Exempel.txt-fil. Denna fil kommer att vara källfilen som används för kopieringen.
  2. Därefter deklarerar vi en strängvariabel som heter copypath. Detta kommer att vara platsen för en ny fil som heter filen ExampleNew.txt. Detta kommer att vara målfilen där innehållet kommer att skrivas från källfilen Exempel.txt.
  3. Vi anropar sedan metoden File.Copy för att kopiera filen Exempel.txt till filen ExempelNy.txt.

När ovanstående kod är inställd och projektet körs med Visual Studio, kommer filen Exempel.txt att kopieras till ExempelNy.txt.

File.Delete

Metoden används för att radera en befintlig fil. Låt oss titta på ett exempel. Ange koden nedan i filen program.cs.

File.Delete

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 Förklaring:-

  1. Först deklarerar vi en strängvariabel som kallas sökväg. Detta kommer att vara platsen för vår Exempel.txt-fil. Det här är filen som kommer att raderas.
  2. Därefter anropar vi metoden File.Delete för att ta bort filen.

När ovanstående kod är inställd och projektet körs med Visual Studio, kommer filen Exempel.txt att tas bort från D-enheten.

Referens för C#-filmetoder

Tabellen nedan sammanfattar de viktigaste C#-filmetoderna och vad var och en gör.

Filmetod BESKRIVNING
Fil existerar Metoden File exists används för att kontrollera om en viss fil finns.
File.ReadAlllines Metoden används för att läsa alla rader en efter en i en fil.
File.ReadAllText Denna metod används för att läsa alla rader i en fil på en gång.
File.Copy Metoden används för att göra en kopia av en befintlig fil.
File.Delete Metoden används för att radera en befintlig fil.

Vanliga frågor

Med C#-filoperationer kan du läsa, skriva, kopiera, lägga till och ta bort filer. De flesta metoder tillhör System.IO.File-klassen, till exempel File.Exists, File.ReadAllText, File.Copy och File.Delete.

Använd File.Exists(path), som returnerar sant när filen finns och annars falskt. Kontrollera detta innan du läser eller tar bort en fil för att undvika undantag vid körning.

File.ReadAllLines returnerar varje rad som ett element i en strängmatris, medan File.ReadAllText returnerar hela filinnehållet som en enda sträng.

Anropa File.Copy(sourcePath, destinationPath). Detta skapar en ny fil på destinationen som innehåller innehållet i källfilen.

Anropa File.Delete(path). Det tar bort filen permanent, så bekräfta att den finns med File.Exists först för att undvika ett FileNotFoundException.

AI-assistenter som GitHub Copilot kompletterar automatiskt File.ReadAllText-, File.Copy- och File.Delete-anrop och genererar try-catch-filhanteringskod från en kort kommentar som beskriver uppgiften.

Ja. AI-drivna verktyg genererar läsar- och skrivmetoder, föreslår StreamReader- eller File-metoder och lägger till undantagshantering så att din kod blir säkrare.

Lägg till med System.IO; högst upp i ditt program. Namnrymden System.IO innehåller File, StreamReader och Stream.Writer klasser som används för filhantering.

Sammanfatta detta inlägg med: