Tarkvaraarenduse maailmas, eriti programmeerimiskeele C# puhul, on teatud รผlesannete tรตhus lahendamine tavaline nรตue. รks selline รผlesanne, mis vรตib tunduda triviaalne, kuid millega sageli kokku puututakse, on kataloogi loomine, kui seda pole olemas. See vajadus tekib programmeerimisstsenaariumide puhul, kus rakendus peab salvestama vรตi haldama faile antud kataloogis. Kataloogi olemasolu kontrollimine vรตi selle loomine, kui seda ei ole, vรตib olla oluline, eriti kรคitusaja vigade vรคltimiseks.
Probleemi lahendus
C#-keel pakub rikkalikku raamatukogu tuge selliste failisรผsteemi รผlesannete tรตhusaks haldamiseks. System.IO nimeruumis on kataloogiklass, mis pakub staatilisi meetodeid kataloogide ja alamkataloogide loomiseks, teisaldamiseks ja loendamiseks. Meie probleemi lahendus peitub selles klassis โ meetodis Directory.CreateDirectory(). Selle meetodi ilu seisneb selles, et see loob kรตik kataloogid ja alamkataloogid vastavalt teele. Kui mรครคratud tee on juba olemas, ei tee see meetod midagi, kuid muutub รครคrmiselt kasulikuks juhul, kui seda teed pole.
if (!Kataloog.Olemas(tee))
{
Kataloog.CreateDirectory(tee);
}
See koodilรตik kontrollib, kas antud teel on kataloog olemas ja kui ei ole, loob see sellesse asukohta uue kataloogi.
Koodeksi samm-sammult selgitus
Skript algab tingimusega if, mis kasutab kataloogiklassi staatilist Exists() meetodit. Seda meetodit kasutatakse kontrollimiseks kas mรครคratud tee kataloog on olemas vรตi mitte.
if (!Kataloog.Olemas(tee))
Kui kataloogi pole olemas (mis mรครคrab "if(!Directory.Exists(path))"), peame selle looma. Selleks kasutame staatilist meetodit CreateDirectory() klassist Directory.
{
Kataloog.CreateDirectory(tee);
}
See kรคsk loob tees mainitud kataloogi. Isegi kui kataloog on juba olemas, meetod CreateDirectory() ei tee erandit, muutes koodi tugevaks olenemata sellest, kas kataloog on olemas vรตi mitte.
Kaasatud raamatukogud vรตi funktsioonid
Selle probleemi lahendamisega seotud vรตtmeklassid asuvad selles System.IO nimeruum C# keeles.
- Kataloogiklass pakub staatilisi meetodeid kataloogide ja alamkataloogide kaudu loomiseks, teisaldamiseks ja loendamiseks.
- Kataloogiklassi meetodit Exists() kasutatakse selleks, et teha kindlaks, kas teatud tee viitab kettal olemasolevale kataloogile.
- Kataloogi klassi meetodit CreateDirectory() kasutatakse kataloogi loomiseks mรครคratud teel, kui seda pole olemas.
Nende teekide ja meetodite mรตistmine on รผlioluline, et luua C#-s tugevaid failihaldustoiminguid, kรคsitledes samal ajal ka รครคrejuhtumeid, nรคiteks kataloogi olemasolu kontrollimist enne sellesse kirjutamist. Selle juhendi abil saate selliste stsenaariumidega C#-s enesekindlalt hakkama.