Gestionarea fișierelor în C#: I/O Operațiuni [Exemple]

C# are o gamă largă de operațiuni cu fișiere. Aceste operațiuni includ deschiderea unui fișier, citirea sau scrierea într-un fișier. Pot exista cazuri în care doriți să lucrați direct cu fișiere, caz în care veți utiliza operațiunile de fișiere disponibile în C#. Unele dintre operațiunile de bază ale fișierelor sunt menționate mai jos.

  1. Citire – Această operație este operația de citire de bază în care datele sunt citite dintr-un fișier.
  2. Scriere – Această operație este operația de scriere de bază în care datele sunt scrise într-un fișier. În mod implicit, tot conținutul existent este eliminat din fișier și este scris conținut nou.
  3. Adăugarea – Această operație implică și scrierea informațiilor într-un fișier. Singura diferență este că datele existente într-un fișier nu sunt suprascrise. Noile date de scris sunt adăugate la sfârșitul fișierului.

Elemente de bază comenzi I/O

C# și .Net pot lucra cu fișiere cu ajutorul mai multor comenzi File I/O. Să aruncăm o privire la unele dintre aceste comenzi. Pentru exemplul nostru, vom presupune că avem un fișier în unitatea D numit Example.txt.
Fișierul va fi un fișier text simplu și va avea 2 linii, așa cum se arată mai jos

  • Guru99 – .Net
  • Guru99 -C#

Pentru exemplul nostru, vom crea o aplicație Consolă simplă și vom lucra cu comenzile noastre File I/O. Aplicația de consolă este cea de bază care a fost creată în tutorialul anterior. În aplicația de consolă, tot codul este scris în fișierul program.cs.

Fisierul exista

Metoda Fișier există este folosită pentru a verifica dacă există un anumit fișier. Deci acum să vedem codul care poate fi folosit pentru a verifica dacă fișierul nostru Example.txt există sau nu. Introduceți codul de mai jos în fișierul program.cs.

Fisierul exista

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

Explicația codului: -

  1. Mai întâi, setăm o variabilă șir cu calea către fișierul nostru Example.txt.
  2. Apoi, folosim metoda File.Exists pentru a verifica dacă fișierul există sau nu. Dacă fișierul există, va fi returnată o valoare adevărată.
  3. Dacă obținem o valoare adevărată și fișierul există, atunci scriem mesajul „File Exists” pe consolă.

Când codul de mai sus este setat și proiectul este executat folosind Visual Studio, veți obține rezultatul de mai jos.

Ieșire: -

Fisierul exista

Din rezultatul de mai sus, puteți vedea că comanda File.Exists a fost executată cu succes, iar mesajul corect a fost afișat în fereastra consolei.

File.ReadAlllines

Metoda este folosită pentru a citi toate rândurile unul câte unul dintr-un fișier. Liniile sunt apoi stocate într-o variabilă de tip string. Să ne uităm la un exemplu. Introduceți codul de mai jos în fișierul 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();
  }
 }
}

Explicația codului: -

  1. În primul rând, declarăm o variabilă de tip string. Acesta va fi folosit pentru a stoca rezultatul care va fi returnat de metoda File.ReadAllLines.
  2. Apoi, folosim metoda File.ReadAllLines pentru a citi toate liniile din fișierul text. Rezultatul este apoi transmis variabilei linii.
  3. Deoarece știm că fișierul nostru conține doar 2 linii, putem accesa valoarea variabilelor matricei prin comanda lines[0] și lines[1].

Când codul de mai sus este setat și proiectul este rulat folosind Visual Studio, veți obține rezultatul de mai jos.

Ieșire: -

File.ReadAlllines

Din rezultat, puteți vedea că comanda File.ReadAllLines a returnat ambele linii din fișierul nostru Example.txt

File.ReadAllText

Această metodă este folosită pentru a citi toate liniile dintr-un fișier simultan. Liniile sunt apoi stocate într-o variabilă șir. Să ne uităm la un exemplu. Introduceți codul de mai jos în fișierul 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();
   }
  }
}

Explicația codului: -

  1. În primul rând, declarăm o variabilă șir numită Linii. Acesta va fi folosit pentru a stoca rezultatul care va fi returnat de metoda File.ReadAllText.
  2. Apoi, folosim metoda File.ReadAllText pentru a citi toate liniile din fișierul text. Rezultatul este apoi transmis variabilei linii.
  3. Putem folosi direct metoda Console.Writeline pentru a afișa valoarea variabilei Lines.

Când codul de mai sus este setat și proiectul este rulat folosind Visual Studio, veți obține rezultatul de mai jos.

Ieșire: -

File.ReadAllText

Din rezultat, puteți vedea că comanda File.ReadAlltext a returnat ambele linii din fișierul nostru Example.txt

File.Copy

Metoda este folosită pentru a face o copie a unui fișier existent. Să ne uităm la un exemplu. Introduceți codul de mai jos în fișierul 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();
   }
  }
}

Explicația codului: -

  1. În primul rând, declarăm o variabilă șir numită cale. Aceasta va fi locația fișierului nostru Example.txt. Acest fișier va fi fișierul sursă folosit pentru operația de copiere.
  2. În continuare, declarăm o variabilă șir numită copypath. Aceasta va fi locația unui nou fișier numit fișier ExampleNew.txt. Acesta va fi fișierul destinație în care conținutul va fi scris din fișierul sursă Example.txt.
  3. Apoi apelăm la metoda File.Copy pentru a copia fișierul fișier Example.txt în fișierul ExampleNew.txt.

Când codul de mai sus este setat și proiectul este rulat folosind Visual Studio, fișierul Example.txt va fi copiat în ExampleNew.txt.

File.Delete

Metoda este folosită pentru a șterge un fișier existent. Să ne uităm la un exemplu. Introduceți codul de mai jos în fișierul 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();
   }
  }
}

Explicația codului: -

  1. În primul rând, declarăm o variabilă șir numită cale. Aceasta va fi locația fișierului nostru Example.txt. Acesta este fișierul care va fi șters.
  2. Apoi, apelăm metoda File.Delete pentru a șterge fișierul.

Când codul de mai sus este setat și proiectul este rulat folosind Visual Studio, fișierul Example.txt va fi șters de pe unitatea D.

Rezumat

  • C# are o serie de operațiuni de fișiere care pot fi efectuate pe fișiere. Majoritatea acestor operațiuni fac parte din clasa File.
  • Dacă doriți să citiți date dintr-un fișier, puteți utiliza metodele File.ReadAlltext sau File.ReadAllLines.
Metoda fișierului Descriere
Fisierul exista Metoda File exists este folosită pentru a verifica dacă un anumit fișier există.
File.ReadAlllines Metoda este folosită pentru a citi toate liniile unul câte unul dintr-un fișier.
File.ReadAllText Această metodă este folosită pentru a citi toate liniile dintr-un fișier simultan.
File.Copy Metoda este folosită pentru a face o copie a unui fișier existent.
File.Delete Metoda este folosită pentru a șterge un fișier existent.