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

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

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

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

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

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

Kodfö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.

Sammanfattning

  • C# har ett antal filoperationer som kan utföras på filer. De flesta av dessa operationer är en del av klassen File.
  • Om du vill läsa data från en fil kan du använda metoderna File.ReadAlltext eller File.ReadAllLines.
Filmetod Description
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.