Rukovanje datotekama u C#: I/O Operations [Primjeri]

C# ima široku lepezu operacija s datotekama. Ove operacije uključuju otvaranje datoteke, čitanje ili pisanje u datoteku. Mogu postojati slučajevi u kojima želite izravno raditi s datotekama, u kojem biste slučaju koristili operacije s datotekama dostupne u C#. Neke od osnovnih radnji s datotekama navedene su u nastavku.

  1. Čitanje – Ova operacija je osnovna operacija čitanja u kojoj se podaci čitaju iz datoteke.
  2. Zapisivanje – Ova operacija je osnovna operacija pisanja u kojoj se podaci zapisuju u datoteku. Prema zadanim postavkama, svi postojeći sadržaji se uklanjaju iz datoteke i piše se novi sadržaj.
  3. Dodavanje – Ova operacija također uključuje pisanje informacija u datoteku. Jedina je razlika u tome što se postojeći podaci u datoteci ne prebrišu. Novi podaci koji se upisuju dodaju se na kraj datoteke.

Osnove I/O naredbi

C# i .Net mogu raditi s datotekama uz pomoć nekoliko File I/O naredbi. Pogledajmo neke od ovih naredbi. Za naš primjer, pretpostavit ćemo da imamo datoteku na D disku pod nazivom Example.txt.
Datoteka će biti jednostavna tekstualna datoteka i imati 2 retka kao što je prikazano u nastavku

  • Guru99 – .Net
  • Guru99 -C#

Za naš primjer, izradit ćemo jednostavnu konzolnu aplikaciju i raditi s našim I/O naredbama za datoteke. Konzolna aplikacija je osnovna koja je stvorena u prethodnom vodiču. U konzolnoj aplikaciji sav se kod zapisuje u datoteku program.cs.

Dokument postoji

Metoda Datoteka postoji koristi se za provjeru postoji li određena datoteka. Dakle, sada da vidimo kod koji se može koristiti za provjeru postoji li naša datoteka Example.txt ili ne. Unesite donji kod u datoteku program.cs.

Dokument postoji

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

Objašnjenje koda:-

  1. Prvo, postavljamo string varijablu sa stazom do naše datoteke Example.txt.
  2. Zatim koristimo metodu File.Exists da provjerimo postoji li datoteka ili ne. Ako datoteka postoji, bit će vraćena prava vrijednost.
  3. Ako dobijemo pravu vrijednost i datoteka postoji, ispisujemo poruku "Datoteka postoji" na konzoli.

Kada se gornji kod postavi i projekt se izvede pomoću Visual Studio-a, dobit ćete donji izlaz.

Izlaz:-

Dokument postoji

Iz gornjeg izlaza možete vidjeti da je naredba File.Exists uspješno izvršena i da je ispravna poruka prikazana u prozoru konzole.

File.ReadAlllines

Metoda se koristi za čitanje svih redaka jedan po jedan u datoteci. Linije se zatim pohranjuju u varijablu niza znakova. Pogledajmo primjer. Unesite donji kod u datoteku 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();
  }
 }
}

Objašnjenje koda:-

  1. Prvo, deklariramo varijablu niza znakova. Ovo će se koristiti za pohranjivanje rezultata koji će vratiti metoda File.ReadAllLines.
  2. Zatim koristimo metodu File.ReadAllLines za čitanje svih redaka iz naše tekstualne datoteke. Rezultat se zatim prosljeđuje varijabli lines.
  3. Budući da znamo da naša datoteka sadrži samo 2 retka, možemo pristupiti vrijednosti varijabli niza putem naredbi lines[0] i lines[1].

Kada je gornji kod postavljen i projekt se izvodi pomoću Visual Studio, dobit ćete donji izlaz.

Izlaz:-

File.ReadAlllines

Iz izlaza možete vidjeti da je naredba File.ReadAllLines vratila oba retka iz naše datoteke Example.txt

File.ReadAllText

Ova se metoda koristi za čitanje svih redaka u datoteci odjednom. Linije se zatim spremaju u varijablu niza. Pogledajmo primjer. Unesite donji kod u datoteku 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();
   }
  }
}

Objašnjenje koda:-

  1. Prvo, deklariramo string varijablu koja se zove Lines. Ovo će se koristiti za pohranjivanje rezultata koji će vratiti metoda File.ReadAllText.
  2. Zatim koristimo metodu File.ReadAllText za čitanje svih redaka iz naše tekstualne datoteke. Rezultat se zatim prosljeđuje varijabli lines.
  3. Možemo izravno koristiti metodu Console.Writeline za prikaz vrijednosti varijable Lines.

Kada se gornji kod postavi i projekt se pokrene pomoću Visual Studija, dobit ćete donji izlaz.

Izlaz:-

File.ReadAllText

Iz izlaza možete vidjeti da je naredba File.ReadAlltext vratila oba retka iz naše datoteke Example.txt

Datoteka.Kopiraj

Metoda se koristi za izradu kopije postojeće datoteke. Pogledajmo primjer. Unesite donji kod u datoteku program.cs.

Datoteka.Kopiraj

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

Objašnjenje koda:-

  1. Prvo, deklariramo string varijablu koja se zove put. Ovo će biti mjesto naše datoteke Example.txt. Ova će datoteka biti izvorna datoteka korištena za operaciju kopiranja.
  2. Zatim deklariramo string varijablu koja se zove copypath. Ovo će biti mjesto nove datoteke pod nazivom ExampleNew.txt datoteka. Ovo će biti odredišna datoteka u koju će biti upisan sadržaj iz izvorne datoteke Example.txt.
  3. Zatim pozivamo metodu File.Copy za kopiranje datoteke Example.txt u datoteku ExampleNew.txt.

Kada se gornji kôd postavi i projekt se pokrene pomoću Visual Studija, datoteka Example.txt kopirat će se u ExampleNew.txt.

File.Delete

Metoda se koristi za brisanje postojeće datoteke. Pogledajmo primjer. Unesite donji kod u datoteku 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();
   }
  }
}

Objašnjenje koda:-

  1. Prvo, deklariramo string varijablu koja se zove put. Ovo će biti mjesto naše datoteke Example.txt. Ovo je datoteka koja će biti izbrisana.
  2. Zatim pozivamo metodu File.Delete za brisanje datoteke.

Kada se gornji kôd postavi i projekt se pokrene pomoću Visual Studio, datoteka Example.txt bit će izbrisana s D pogona.

rezime

  • C# ima brojne operacije s datotekama koje se mogu izvesti na datotekama. Većina ovih operacija dio je klase File.
  • Ako želite čitati podatke iz datoteke, možete koristiti metode File.ReadAlltext ili File.ReadAllLines.
Metoda datoteke Description
Dokument postoji Datoteka postoji metoda se koristi za provjeru postoji li određena datoteka.
File.ReadAlllines Metoda se koristi za čitanje svih redaka jedan po jedan u datoteci.
File.ReadAllText Ova se metoda koristi za čitanje svih redaka u datoteci odjednom.
Datoteka.Kopiraj Metoda se koristi za izradu kopije postojeće datoteke.
File.Delete Metoda se koristi za brisanje postojeće datoteke.