Faili käsitlemine C#-s: I/O Operasioonid [näited]

⚡ Nutikas kokkuvõte

C# failioperatsioonid võimaldavad faile lugeda, kirjutada, kopeerida ja kustutada, kasutades nimeruumi System.IO. Siin õpid selgete koodinäidete abil kasutama funktsioone File.Exists, File.ReadAllLines, File.ReadAllText, File.Copy ja File.Delete.

  • 📂 Mis see on: C# failitoimingud loevad, kirjutavad, kopeerivad ja kustutavad faile System.IO nimeruumi kaudu.
  • Fail.Olemas: File.Exists(path) kontrollib enne faili lugemist või kustutamist, kas see on olemas.
  • ???? Lugemine: File.ReadAllLines tagastab stringimassiivi, samas kui File.ReadAllText tagastab kogu faili ühe stringina.
  • ???? Kopeeri ja kustuta: File.Copy dubleerib faili uude asukohta ja File.Delete eemaldab selle.
  • 🤖 Tehisintellekti abi: Tehisintellekti tööriistad, näiteks GitHub Copilot, genereerivad C# failihalduskoodi koheselt.

C# fail Operamine

C#-l on lai valik failioperatsioone. Need toimingud hõlmavad faili avamist, faili lugemist või kirjutamist. Võib juhtuda, et soovite failidega otse töötada, sel juhul kasutaksite C#-s saadaolevaid failitoiminguid. Mõned põhilised failitoimingud on loetletud allpool.

  1. Lugemine – see toiming on põhiline lugemisoperatsioon, mille käigus andmeid loetakse failist.
  2. Kirjutamine – see toiming on põhiline kirjutamisoperatsioon, mille käigus andmed kirjutatakse faili. Vaikimisi eemaldatakse failist kogu olemasolev sisu ja kirjutatakse uus sisu.
  3. Lisamine – see toiming hõlmab ka teabe kirjutamist faili. Ainus erinevus seisneb selles, et failis olevaid andmeid üle ei kirjutata. Uued kirjutatavad andmed lisatakse faili lõppu.

Põhilised I/O-käsud

C# ja .Net saavad failidega töötada mitme File I/O käsu abil. Vaatame mõnda neist käskudest. Meie näite puhul eeldame, et meil on D-draivis fail nimega Example.txt.
Fail on lihtne tekstifail ja sellel on 2 rida, nagu allpool näidatud

  • Guru99 – .Net
  • Guru99 -C#

Meie näites loome lihtsa konsoolirakenduse ja töötame oma File I/O käskudega. Konsoolirakendus on põhirakendus, mis loodi eelmises õpetuses. Konsoolirakenduses kirjutatakse kogu kood faili program.cs.

Fail.Olemas

Faili olemasolu meetodit kasutatakse konkreetse faili olemasolu kontrollimiseks. Vaatame nüüd koodi, mille abil saab kontrollida, kas fail Näide.txt on olemas või mitte. Sisestage allolev kood faili program.cs.

Fail.Olemas

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 Selgitus:-

  1. Esiteks määrame stringi muutuja, mille tee on meie faili Example.txt.
  2. Järgmiseks kasutame meetodit File.Exists, et kontrollida, kas fail on olemas või mitte. Kui fail on olemas, tagastatakse tegelik väärtus.
  3. Kui saame tõelise väärtuse ja fail on olemas, kirjutame konsooli teate "Fail on olemas".

Kui ülaltoodud kood on määratud ja projekt käivitatakse Visual Studio abil, saate alloleva väljundi.

Väljund:-

Fail.Olemas

Ülaltoodud väljundist näete, et käsk File.Exists täideti edukalt ja konsooli aknas kuvati õige teade.

File.ReadAlllines

Meetodit kasutatakse faili kõigi ridade ükshaaval lugemiseks. Seejärel salvestatakse read stringi massiivi muutujasse. Vaatame näidet. Sisestage allolev kood faili 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 Selgitus:-

  1. Esiteks deklareerime stringimassiivi muutuja. Seda kasutatakse meetodi File.ReadAllLines abil tagastatava tulemuse salvestamiseks.
  2. Järgmisena kasutame kõigi tekstifaili ridade lugemiseks meetodit File.ReadAllLines. Seejärel edastatakse tulemus ridade muutujale.
  3. Kuna me teame, et meie fail sisaldab ainult 2 rida, pääseme massiivimuutujate väärtustele ligi käsu lines[0] ja lines[1] kaudu.

Kui ülaltoodud kood on määratud ja projekti käitatakse kasutades Visual Studio, saate alloleva väljundi.

Väljund:-

File.ReadAlllines

Väljundist näete, et käsk File.ReadAllLines tagastas mõlemad read meie failist Näide.txt

File.ReadAllText

Seda meetodit kasutatakse faili kõigi ridade korraga lugemiseks. Seejärel salvestatakse read stringi muutujasse. Vaatame näidet. Sisestage allolev kood faili 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 Selgitus:-

  1. Esiteks deklareerime stringi muutuja nimega Lines. Seda kasutatakse meetodi File.ReadAllText abil tagastatava tulemuse salvestamiseks.
  2. Järgmiseks kasutame kõigi tekstifaili ridade lugemiseks meetodit File.ReadAllText. Seejärel edastatakse tulemus ridade muutujale.
  3. Muutuja Lines väärtuse kuvamiseks saame otse kasutada meetodit Console.Writeline.

Kui ülaltoodud kood on määratud ja projekti käitatakse Visual Studio abil, saate alloleva väljundi.

Väljund:-

File.ReadAllText

Väljundist näete, et käsk File.ReadAlltext tagastas mõlemad read meie failist Näide.txt

Fail.Kopeeri

Meetodit kasutatakse olemasoleva faili koopia tegemiseks. Vaatame näidet. Sisestage allolev kood faili program.cs.

Fail.Kopeeri

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 Selgitus:-

  1. Esiteks deklareerime stringi muutuja nimega path. See on meie faili Example.txt asukoht. Sellest failist saab kopeerimise lähtefail.
  2. Järgmisena deklareerime stringi muutuja nimega copypath. See on uue faili nimega ExampleNew.txt asukoht. See on sihtfail, mille sisu lähtefailist Näide.txt kirjutatakse.
  3. Seejärel kutsume välja meetodi File.Copy, et kopeerida fail Näide.txt faili NäideNew.txt.

Kui ülaltoodud kood on määratud ja projekti käitatakse Visual Studio abil, kopeeritakse fail Näide.txt faili NäideNew.txt.

Fail.Kustuta

Meetodit kasutatakse olemasoleva faili kustutamiseks. Vaatame näidet. Sisestage allolev kood faili program.cs.

Fail.Kustuta

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 Selgitus:-

  1. Esiteks deklareerime stringi muutuja nimega path. See on meie faili Example.txt asukoht. See on fail, mis kustutatakse.
  2. Järgmisena kutsume faili kustutamiseks välja meetodi File.Delete.

Kui ülaltoodud kood on määratud ja projekti käitatakse Visual Studio abil, kustutatakse fail Näide.txt D-kettalt.

C# failimeetodite viide

Allolev tabel võtab kokku peamised C# failimeetodid ja igaühe tegevuse.

Faili meetod Kirjeldus
Fail.Olemas Faili olemasolu meetodit kasutatakse konkreetse faili olemasolu kontrollimiseks.
File.ReadAlllines Meetodit kasutatakse faili kõigi ridade ükshaaval lugemiseks.
File.ReadAllText Seda meetodit kasutatakse faili kõigi ridade korraga lugemiseks.
Fail.Kopeeri Meetodit kasutatakse olemasoleva faili koopia tegemiseks.
Fail.Kustuta Meetodit kasutatakse olemasoleva faili kustutamiseks.

KKK

C# failitoimingud võimaldavad faile lugeda, kirjutada, kopeerida, täiendada ja kustutada. Enamik meetodeid kuulub System.IO.File klassi, näiteks File.Exists, File.ReadAllText, File.Copy ja File.Delete.

Kasutage funktsiooni File.Exists(path), mis tagastab väärtuse „true”, kui fail on olemas, ja väärtuse „false”, kui see on olemas. Kontrollige seda enne faili lugemist või kustutamist, et vältida käitusaja erandeid.

File.ReadAllLines tagastab iga rea ​​stringimassiivi elemendina, samas kui File.ReadAllText tagastab kogu faili sisu ühe stringina.

Kutsu välja File.Copy(sourcePath, destinationPath). See loob sihtkohta uue faili, mis sisaldab lähtefaili sisu.

Käivita File.Delete(path). See eemaldab faili jäädavalt, seega veendu esmalt selle olemasolu funktsiooniga File.Exists, et vältida FileNotFoundException'i.

Tehisintellekti assistendid, näiteks GitHub Copilot, täidavad automaatselt File.ReadAllText, File.Copy ja File.Delete ülesandeid ning genereerivad lühikese ülesannet kirjeldava kommentaari põhjal failihalduskoodi.

Jah. Tehisintellektil põhinevad tööriistad genereerivad lugeja ja kirjutaja meetodeid, soovitavad StreamReaderi või File'i meetodeid ning lisavad erandite käsitlemise, et teie kood oleks turvalisem.

Lisa oma programmi algusesse System.IO; abil. System.IO nimeruum sisaldab File'i, StreamReaderi ja Streami.Writer Failide haldamiseks kasutatavad klassid.

Võta see postitus kokku järgmiselt: