Latihan - Membuat file dan direktori
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
Dalam file
Program.cs, hapusforeachperulangan yang mengulang dan menulis setiap nama file yang dikembalikan dari fungsiFindFileske output Konsol. Perubahan ini menghasilkansalesFilesvariabel tidak digunakan. Namun, kami akan meninggalkannya di sini untuk saat ini karena kami akan menggunakannya lagi dalam pelajaran di masa depan.Program.csDalam file, buat variabel yang disebutsalesTotalDir, 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);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
Program.csDalam 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);Tekan Ctrl+S / Cmd+S untuk menyimpan file.
Jalankan program dengan menjalankan kode berikut dari permintaan terminal:
dotnet runPilih ikon Refresh di penjelajah File .
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;
}