Tiedostonkäsittely C#:ssa: I/O Operakohdat [esimerkkejä]

C#:lla on laaja valikoima tiedostotoimintoja. Näitä toimintoja ovat tiedoston avaaminen, tiedostoon lukeminen tai kirjoittaminen. Saattaa olla tapauksia, joissa haluat käsitellä tiedostoja suoraan, jolloin käyttäisit C#:ssa saatavilla olevia tiedostotoimintoja. Jotkut tiedostojen perustoiminnot on mainittu alla.

  1. Lukeminen – Tämä toiminto on peruslukutoiminto, jossa tiedot luetaan tiedostosta.
  2. Kirjoitus – Tämä toiminto on peruskirjoitustoiminto, jossa tiedot kirjoitetaan tiedostoon. Oletuksena kaikki olemassa oleva sisältö poistetaan tiedostosta ja uusi sisältö kirjoitetaan.
  3. Liittäminen – Tämä toiminto sisältää myös tietojen kirjoittamisen tiedostoon. Ainoa ero on, että tiedoston olemassa olevia tietoja ei kirjoiteta päälle. Uudet kirjoitettavat tiedot lisätään tiedoston loppuun.

Perustiedot I/O-komennot

C# ja .Net voivat työskennellä tiedostojen kanssa useiden File I/O -komentojen avulla. Katsotaanpa joitain näistä komennoista. Esimerkissämme oletetaan, että meillä on D-asemassa tiedosto nimeltä Esimerkki.txt.
Tiedosto on yksinkertainen tekstitiedosto ja siinä on 2 riviä alla olevan kuvan mukaisesti

  • Guru99 – .Net
  • Guru99 -C#

Esimerkkiä varten luomme yksinkertaisen konsolisovelluksen ja työskentelemme File I/O -komentojemme kanssa. Konsolisovellus on perussovellus, joka luotiin aikaisemmassa opetusohjelmassa. Konsolisovelluksessa kaikki koodi kirjoitetaan program.cs-tiedostoon.

File.Exists

Tiedosto on olemassa -menetelmää käytetään tarkistamaan, onko tietty tiedosto olemassa. Katsotaanpa nyt koodia, jolla voidaan tarkistaa, onko esimerkki.txt-tiedostomme olemassa vai ei. Kirjoita alla oleva koodi program.cs-tiedostoon.

File.Exists

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

Koodin selitys: -

  1. Ensin asetamme merkkijonomuuttujan, jonka polku on esimerkki.txt-tiedostomme.
  2. Seuraavaksi käytämme File.Exists-menetelmää tarkistaaksemme, onko tiedosto olemassa vai ei. Jos tiedosto on olemassa, todellinen arvo palautetaan.
  3. Jos saamme todellisen arvon ja tiedosto on olemassa, kirjoitamme konsoliin viestin "Tiedosto on olemassa".

Kun yllä oleva koodi on asetettu ja projekti suoritetaan Visual Studiolla, saat alla olevan tulosteen.

Lähtö: -

File.Exists

Yllä olevasta lähdöstä näet, että File.Exists-komento suoritettiin onnistuneesti ja oikea viesti näytettiin konsoliikkunassa.

File.ReadAlllines

Menetelmää käytetään tiedoston kaikkien rivien lukemiseen yksitellen. Rivit tallennetaan sitten merkkijonotaulukkomuuttujaan. Katsotaanpa esimerkkiä. Kirjoita alla oleva koodi program.cs-tiedostoon.

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

Koodin selitys: -

  1. Ensin ilmoitamme merkkijonotaulukon muuttujan. Tätä käytetään File.ReadAllLines-menetelmän palauttaman tuloksen tallentamiseen.
  2. Seuraavaksi käytämme File.ReadAllLines-menetelmää kaikkien tekstitiedostojemme rivien lukemiseen. Tulos välitetään sitten rivimuuttujaan.
  3. Koska tiedämme, että tiedostomme sisältää vain 2 riviä, voimme tarkastella taulukon muuttujien arvoja komennoilla lines[0] ja lines[1].

Kun yllä oleva koodi on asetettu ja projektia ajetaan käyttäen Visual Studio, saat alla olevan tulosteen.

Lähtö: -

File.ReadAlllines

Tulosteesta näet, että File.ReadAllLines-komento palautti molemmat rivit tiedostostamme Esimerkki.txt

File.ReadAllText

Tätä menetelmää käytetään tiedoston kaikkien rivien lukemiseen kerralla. Rivit tallennetaan sitten merkkijonomuuttujaan. Katsotaanpa esimerkkiä. Kirjoita alla oleva koodi program.cs-tiedostoon.

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

Koodin selitys: -

  1. Ensin ilmoitamme merkkijonomuuttujan nimeltä Lines. Tätä käytetään tallentamaan tulos, joka palautetaan File.ReadAllText-menetelmällä.
  2. Seuraavaksi käytämme File.ReadAllText-menetelmää kaikkien tekstitiedostojemme rivien lukemiseen. Tulos välitetään sitten rivimuuttujaan.
  3. Voimme suoraan käyttää Console.Writeline-menetelmää Lines-muuttujan arvon näyttämiseen.

Kun yllä oleva koodi on asetettu ja projektia ajetaan Visual Studiolla, saat alla olevan tulosteen.

Lähtö: -

File.ReadAllText

Tulosteesta näet, että File.ReadAlltext-komento palautti molemmat rivit tiedostostamme Esimerkki.txt

Tiedosto.Kopioi

Menetelmää käytetään kopioimaan olemassa olevasta tiedostosta. Katsotaanpa esimerkkiä. Kirjoita alla oleva koodi program.cs-tiedostoon.

Tiedosto.Kopioi

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

Koodin selitys: -

  1. Ensin ilmoitamme merkkijonomuuttujan nimeltä polku. Tämä on esimerkki.txt-tiedostomme sijainti. Tämä tiedosto on kopiointitoiminnossa käytetty lähdetiedosto.
  2. Seuraavaksi ilmoitamme merkkijonomuuttujan nimeltä copypath. Tämä on uuden tiedoston, jonka nimi on EsimerkkiNew.txt-tiedosto, sijainti. Tämä on kohdetiedosto, jonka sisältö kirjoitetaan lähdetiedostosta Esimerkki.txt.
  3. Kutsumme sitten File.Copy-menetelmää kopioimaan tiedoston Esimerkki.txt-tiedosto tiedostoon EsimerkkiNew.txt.

Kun yllä oleva koodi on asetettu ja projektia ajetaan Visual Studiolla, tiedosto Esimerkki.txt kopioidaan tiedostoon EsimerkkiNew.txt.

Tiedosto.Poista

Menetelmää käytetään olemassa olevan tiedoston poistamiseen. Katsotaanpa esimerkkiä. Kirjoita alla oleva koodi program.cs-tiedostoon.

Tiedosto.Poista

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

Koodin selitys: -

  1. Ensin ilmoitamme merkkijonomuuttujan nimeltä polku. Tämä on esimerkki.txt-tiedostomme sijainti. Tämä on tiedosto, joka poistetaan.
  2. Seuraavaksi kutsumme File.Delete-menetelmää tiedoston poistamiseksi.

Kun yllä oleva koodi on asetettu ja projektia ajetaan Visual Studiolla, tiedosto Esimerkki.txt poistetaan D-asemalta.

Yhteenveto

  • C#:ssa on useita tiedostotoimintoja, jotka voidaan suorittaa tiedostoille. Useimmat näistä toiminnoista ovat osa luokkaa Tiedosto.
  • Jos haluat lukea tietoja tiedostosta, voit käyttää File.ReadAlltext- tai File.ReadAllLines-menetelmiä.
Tiedostomenetelmä Tuotetiedot
File.Exists Tiedosto on olemassa -menetelmää käytetään tarkistamaan, onko tietty tiedosto olemassa.
File.ReadAlllines Menetelmää käytetään tiedoston kaikkien rivien lukemiseen yksitellen.
File.ReadAllText Tätä menetelmää käytetään tiedoston kaikkien rivien lukemiseen kerralla.
Tiedosto.Kopioi Menetelmää käytetään kopioimaan olemassa olevasta tiedostosta.
Tiedosto.Poista Menetelmää käytetään olemassa olevan tiedoston poistamiseen.

Tiivistä tämä viesti seuraavasti: