Latihan - Membuat file dan direktori

Selesai

Kelas File dan Directory di .NET memungkinkan Anda membuat file dan direktori baru secara terprogram.

Sejauh ini, Anda telah membuat aplikasi baris perintah yang kuat di .NET yang dapat membaca struktur folder apa pun untuk menemukan file dengan ekstensi .json. Sekarang, Anda perlu membaca file-file tersebut untuk meringkas data di dalamnya, lalu menulis total ke file baru di direktori baru yang disebut salesTotals.

Dalam latihan ini, Anda membuat direktori salesTotalDir dan file totals.txt tempat total penjualan disatukan.

Membuat direktori SalesTotals

  1. Dalam file Program.cs, hapus foreach perulangan yang mengulang dan menulis setiap nama file yang dikembalikan dari fungsi FindFiles ke output Konsol. Perubahan ini menghasilkan salesFiles variabel tidak digunakan. Namun, kami akan meninggalkannya di sini untuk saat ini karena kami akan menggunakannya lagi dalam pelajaran di masa depan.

  2. Program.cs Dalam file, buat variabel yang disebut salesTotalDir, yang menyimpan jalur ke direktori salesTotalDir:

    var currentDirectory = Directory.GetCurrentDirectory();
    var storesDirectory = Path.Combine(currentDirectory, "stores");
    
    var salesTotalDir = Path.Combine(currentDirectory, "salesTotalDir");
    
    var salesFiles = FindFiles(storesDirectory);
    
  3. Dalam file Program.cs, tambahkan kode untuk membuat direktori:

    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);   
    

Menulis file totals.txt

  1. Program.cs Dalam file, tambahkan kode untuk membuat file kosong yang disebut totals.txt di dalam direktori salesTotalDir yang baru dibuat. Gunakan string kosong untuk konten file untuk saat ini:

    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. Tekan Ctrl+S / Cmd+S untuk menyimpan file.

  3. Jalankan program dengan menjalankan kode berikut dari permintaan terminal:

    dotnet run
    
  4. Pilih ikon Refresh di penjelajah File .

    Cuplikan layar ikon Refresh di penjelajah File editor Cloud Shell.

Anda hampir selesai. Langkah terakhir adalah membaca file penjualan, menambahkan total, dan menulis total keseluruhan ke file totals.txt baru. Selanjutnya, Anda akan mempelajari cara membaca dan mengurai data di dalam file.

Macet?

Jika Anda tidak tahu apa yang harus dilakukan selama latihan ini, berikut adalah kode lengkap hingga saat ini:

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;
}