Programmatūras izstrādes pasaulē, īpaši ar programmēšanas valodu C#, noteiktu uzdevumu efektīva risināšana ir izplatīta prasība. Viens no šādiem uzdevumiem, kas varētu šķist nenozīmīgs, bet bieži sastopams, ir direktorija izveide, ja tā neeksistē. Šī nepieciešamība rodas programmēšanas scenārijos, kad lietojumprogrammai ir jāsaglabā vai jāpārvalda faili noteiktā direktorijā. Var būt ļoti svarīgi pārbaudīt, vai direktorijs pastāv, vai izveidot to, ja tā nav, jo īpaši, lai izvairītos no izpildlaika kļūdām.
Problēmas risinājums
C# valoda nodrošina bagātīgu bibliotēkas atbalstu, lai efektīvi pārvaldītu šādus failu sistēmas uzdevumus. System.IO nosaukumvietā ir direktoriju klase, kas nodrošina statiskas metodes direktoriju un apakšdirektoriju izveidei, pārvietošanai un uzskaitīšanai. Mūsu problēmas risinājums ir šajā klasē - metode Directory.CreateDirectory(). Šīs metodes skaistums ir tāds, ka tā izveido visus direktorijus un apakšdirektorijas, kā norādīts ceļā. Ja norādītais ceļš jau pastāv, šī metode neko nedara, bet kļūst ārkārtīgi noderīga gadījumā, ja ceļa nav.
if (!Directory.Exists(path))
{
Directory.CreateDirectory(ceļš);
}
Šis koda fragments pārbauda, vai norādītajā ceļā pastāv direktorijs, un, ja tā nav, tas šajā vietā izveido jaunu direktoriju.
Kodeksa soli pa solim skaidrojums
Skripts sākas ar nosacījumu “if”, kas izmanto statisko metodi Exists() no Directory klases. Šī metode tiek izmantota, lai pārbaudītu, vai norādītajā ceļā esošā direktorijs pastāv vai nē.
if (!Directory.Exists(path))
Ja direktorija nepastāv (to nosaka “if(!Directory.Exists(path))”, mums tas ir jāizveido. Šim nolūkam mēs izmantojam statisko metodi CreateDirectory() no klases Directory.
{
Directory.CreateDirectory(ceļš);
}
Šī komanda izveido direktoriju, kas norādīts “ceļā”. Pat ja direktorijs jau pastāv, metode CreateDirectory() neizmet nekādu izņēmumu, tādējādi padarot kodu noturīgu neatkarīgi no tā, vai direktorijs pastāv vai nē.
Bibliotēkas vai iesaistītās funkcijas
Galvenās klases, kas iesaistītas šīs problēmas risināšanā, C# valodā ir izvietotas System.IO vārdtelpā .
- Direktoriju klase nodrošina statiskas metodes direktoriju un apakšdirektoriju izveidei, pārvietošanai un uzskaitīšanai.
- Metode Exists() no Directory klases tiek izmantota, lai noteiktu, vai noteikts ceļš attiecas uz esošu direktoriju diskā.
- Metode CreateDirectory() no Directory klases tiek izmantota, lai izveidotu direktoriju noteiktā ceļā, ja tā neeksistē.
Izpratne par šīm bibliotēkām un metodēm ir ļoti svarīga, lai izveidotu stabilas failu pārvaldības operācijas C#, vienlaikus apstrādājot arī malas gadījumus, piemēram, pārbaudot, vai direktorijs pastāv, pirms mēģināt tajā rakstīt. Izmantojot šo rokasgrāmatu, varat droši rīkoties ar šādiem scenārijiem savā C#.