MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Lucrul cu sistemul de fișiere

Majoritatea sarcinilor în programare, într-un fel sau altul, sunt legate de lucrul cu fișiere și directoare. Este posibil să avem nevoie să citim textul dintr-un fișier sau, dimpotrivă, să efectuăm o scriere, să ștergem un fișier sau un întreg director, fără a mai menționa sarcinile mai complexe, cum ar fi crearea unui editor de text și alte sarcini similare.

Framework-ul .NET oferă posibilități extinse pentru gestionarea și manipularea fișierelor și directoarelor, care sunt concentrate în mare parte în spațiul de nume System.IO. Clasele situate în acest spațiu de nume (cum ar fi Stream, StreamWriter, FileStream și altele) permit gestionarea intrării-ieșirii de fișiere.

Lucrul cu discuri

Începem lucrul cu sistemul de fișiere de la cel mai înalt nivel - discurile. Pentru reprezentarea discului în spațiul de nume System.IO, există clasa DriveInfo.

Această clasă are o metodă statică GetDrives(), care returnează numele tuturor discurilor logice ale computerului. De asemenea, oferă o serie de proprietăți utile:

  • AvailableFreeSpace: indică volumul spațiului liber disponibil pe disc în bytes
  • DriveFormat: obține numele sistemului de fișiere
  • DriveType: reprezintă tipul discului
  • IsReady: dacă discul este gata (de exemplu, un disc DVD poate să nu fie introdus în unitate)
  • Name: obține numele discului
  • RootDirectory: returnează directorul rădăcină al discului
  • TotalFreeSpace: obține volumul total de spațiu liber pe disc în bytes
  • TotalSize: dimensiunea totală a discului în bytes
  • VolumeLabel: obține sau setează eticheta volumului

Obținem numele și proprietățile tuturor discurilor de pe calculator:

DriveInfo[] drives = DriveInfo.GetDrives();

foreach (DriveInfo drive in drives)
{
   Console.WriteLine($"Nume: {drive.Name}");
   Console.WriteLine($"Tip: {drive.DriveType}");
   if (drive.IsReady)
   {
       Console.WriteLine($"Dimensiunea discului: {drive.TotalSize}");
       Console.WriteLine($"Spațiu liber: {drive.TotalFreeSpace}");
       Console.WriteLine($"Etichetă disc: {drive.VolumeLabel}");
   }
   Console.WriteLine();
}

Ieșirea în consolă în cazul meu:

Nume: C:\  
Tip: Fixed  
Dimensiunea discului: 624823205888 
Spațiu liber: 58199781376 
Etichetă disc:

Nume: D:\  
Tip: Fixed  
Dimensiunea discului: 105372446720 
Spațiu liber: 3887951872 
Etichetă disc: Windows10

Nume: E:\  
Tip: Fixed  
Dimensiunea discului: 17809010688 
Spațiu liber: 463650816 
Etichetă disc: RECOVERY

Nume: G:\  
Tip: Fixed  
Dimensiunea discului: 954200064 
Spațiu liber: 275193856 
Etichetă disc:
← Lecția anterioară Lecția următoare →