Cvičení – vytváření souborů a adresářů

Dokončeno

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 mohli sumarizovat data v nich. 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

  1. Program.cs V souboru odeberte smyčkuforeach, která iteruje a zapisuje každý název souboru vrácený z FindFiles funkce do výstupu konzoly. Výsledkem této změny salesFiles je nevyužitá proměnná. Prozatím ho tu ale necháme, protože se použije znovu v budoucí lekci.

  2. Program.cs V souboru vytvořte proměnnou s názvem salesTotalDir, 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);
    
  3. 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

  1. Program.cs Do souboru přidejte kód pro vytvoření prázdného souboru s názvem totals.txt v nově vytvořeném adresáři 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);
    
  2. Stisknutím kombinace kláves Ctrl+S / Cmd+S soubor uložte.

  3. Spusťte program spuštěním následujícího kódu z příkazového řádku terminálu:

    dotnet run
    
  4. V průzkumníku souborů klikněte na ikonu Aktualizovat.

    Screenshot of the Refresh icon in the Files explorer of the Cloud Shell editor.

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. Dále se dozvíte, jak číst a analyzovat 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;
}