C#:
Tarkistetaan, onko hakemisto olemassa
Kuinka:
Käyttäen System.IO
C# tarjoaa System.IO nimiavaruuden, joka sisältää Directory luokan, tarjoten suoran tavan tarkistaa hakemiston olemassaolo Exists metodin avulla.
using System;
using System.IO;
class Program
{
static void Main()
{
string directoryPath = @"C:\ExampleDirectory";
// Tarkista, onko hakemisto olemassa
bool directoryExists = Directory.Exists(directoryPath);
// Tulosta tulos
Console.WriteLine("Hakemisto on olemassa: " + directoryExists);
}
}Esimerkkituloste:
Hakemisto on olemassa: FalseJos hakemisto todellakin on olemassa polussa C:\ExampleDirectory, tuloste on True.
Käyttäen System.IO.Abstractions yksikkötestaukseen
Kun kyse on koodisi yksikkötestattavuuden mahdollistamisesta, erityisesti kun se vuorovaikuttaa tiedostojärjestelmän kanssa, System.IO.Abstractions paketti on suosittu valinta. Se mahdollistaa tiedostojärjestelmän toimintojen abstrahoinnin ja mockaamisen testeissäsi. Tässä on miten voit tarkistaa hakemiston olemassaolon käyttäen tätä lähestymistapaa:
Ensin, varmista että olet asentanut paketin:
Install-Package System.IO.AbstractionsSitten, voit injektoida IFileSystem-rajapinnan luokkaasi ja käyttää sitä tarkistamaan, onko hakemisto olemassa, mikä mahdollistaa helpomman yksikkötestauksen.
using System;
using System.IO.Abstractions;
class Program
{
private readonly IFileSystem _fileSystem;
public Program(IFileSystem fileSystem)
{
_fileSystem = fileSystem;
}
public bool CheckDirectoryExists(string directoryPath)
{
return _fileSystem.Directory.Exists(directoryPath);
}
static void Main()
{
var fileSystem = new FileSystem();
var program = new Program(fileSystem);
string directoryPath = @"C:\ExampleDirectory";
bool directoryExists = program.CheckDirectoryExists(directoryPath);
Console.WriteLine("Hakemisto on olemassa: " + directoryExists);
}
}Esimerkkituloste:
Hakemisto on olemassa: FalseTämä lähestymistapa erottaa sovelluslogiikkasi suorasta pääsystä tiedostojärjestelmään, tehden koodistasi modulaarisemman, testattavamman ja ylläpidettävämmän.