Cvičení – vytváření souborů a adresářů
Třídy File
a Directory
v .NET umožňují programově vytvářet nové soubory a adresáře.
Zatím jste v .NET vytvořili robustní aplikaci příkazového řádku, která dokáže přečíst libovolnou strukturu složek a najít soubory s příponou .json. Teď je potřeba tyto soubory přečíst, abyste shrnuli data v nich, a pak zapište součty do nového souboru v novém adresáři s názvem salesTotals.
V tomto cvičení vytvoříte adresář salesTotalDir a soubor totals.txt , kde se kompletují celkové tržby.
Vytvoření adresáře SalesTotals
Program.cs
V souboru odeberte smyčkuforeach
, která iteruje a zapisuje každý název souboru vrácený zFindFiles
funkce do výstupu konzoly. Výsledkem této změnysalesFiles
je nevyužitá proměnná. Prozatím ho tu ale necháme, protože ho použijeme znovu v budoucí lekci.Program.cs
V souboru vytvořte proměnnou s názvemsalesTotalDir
, která obsahuje cestu k adresáři salesTotalDir:var currentDirectory = Directory.GetCurrentDirectory(); var storesDirectory = Path.Combine(currentDirectory, "stores"); var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir"); var salesFiles = FindFiles(storesDirectory);
Program.cs
Do souboru přidejte kód pro vytvoření adresáře:var currentDirectory = Directory.GetCurrentDirectory(); var storesDirectory = Path.Combine(currentDirectory, "stores"); var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir"); Directory.CreateDirectory(salesTotalDir); // Add this line of code var salesFiles = FindFiles(storesDirectory);
Zápis souboru totals.txt
Program.cs
Do souboru přidejte kód pro vytvoření prázdného souboru s názvem totals.txt uvnitř nově vytvořeného adresáře salesTotalDir. Prozatím použijte prázdný řetězec pro obsah souboru:var currentDirectory = Directory.GetCurrentDirectory(); var storesDirectory = Path.Combine(currentDirectory, "stores"); var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir"); Directory.CreateDirectory(salesTotalDir); var salesFiles = FindFiles(storesDirectory); File.WriteAllText(Path.Combine(salesTotalDir, "totals.txt"), String.Empty);
Stisknutím kombinace kláves Ctrl+S / Cmd+S soubor uložte.
Spusťte program spuštěním následujícího kódu z příkazového řádku terminálu:
dotnet run
V průzkumníku souborů klikněte na ikonu Aktualizovat.
Už jste skoro u konce. Posledním krokem je přečtení souborů tržeb, spočítání součtů a zápis celkového součtu do nového souboru totals.txt. V dalším kroku se dozvíte, jak číst a parsovat data uvnitř souborů.
Zasekli jste se?
Pokud jste se během tohoto cvičení zasekli, tady je celý kód až do tohoto okamžiku:
var currentDirectory = Directory.GetCurrentDirectory();
var storesDirectory = Path.Combine(currentDirectory, "stores");
var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir");
Directory.CreateDirectory(salesTotalDir);
var salesFiles = FindFiles(storesDirectory);
File.WriteAllText(Path.Combine(salesTotalDir, "totals.txt"), String.Empty);
IEnumerable<string> FindFiles(string folderName)
{
List<string> salesFiles = new List<string>();
var foundFiles = Directory.EnumerateFiles(folderName, "*", SearchOption.AllDirectories);
foreach (var file in foundFiles)
{
var extension = Path.GetExtension(file);
if (extension == ".json")
{
salesFiles.Add(file);
}
}
return salesFiles;
}