System.IO (ścieżki, strumienie)
Proszę używać pomocników Path, sprawdzać istnienie plików oraz odczytywać i zapisywać tekst za pomocą StreamReader/StreamWriter i instrukcji using.
System.IO (ścieżki, strumienie) to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 3 lekcji w sumie.
Wprowadzenie do System.IO
Cel: Bezpiecznie odczytywać i zapisywać pliki.
- Buduj ścieżki za pomocą Path
- Sprawdzaj je za pomocą File/Directory
- Używaj StreamReader/StreamWriter w bloku using
Podstawy Path
Używaj Path.Combine i podobnych metod, aby uniknąć ręcznego wstawiania separatorów oraz analizować części ścieżki.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
// Build a safe path (handles separators)
string folder = "data";
string file = "notes.txt";
string path = Path.Combine(folder, file);
Console.WriteLine("File name: " + Path.GetFileName(path));
Console.WriteLine("Directory: " + Path.GetDirectoryName(path));
Console.WriteLine("Full path: " + Path.GetFullPath(path));
}
}
Tworzenie i zapis
Używaj Directory.CreateDirectory (jest bezpieczne nawet wtedy, gdy katalog już istnieje) oraz File.WriteAllText dla małych plików.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string folder = "data";
if (!Directory.Exists(folder))
{
Directory.CreateDirectory(folder); // create if missing
}
string path = Path.Combine(folder, "hello.txt");
// Simple one-shot write
File.WriteAllText(path, "Hello file!");
Console.WriteLine("Wrote: " + path);
}
}
Bezpieczny odczyt
Umieszczaj czytniki w bloku using. Uchwyt pliku zostanie zwolniony nawet wtedy, gdy wystąpi wyjątek.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string path = Path.Combine("data", "hello.txt");
if (File.Exists(path))
{
using (StreamReader r = new StreamReader(path))
{
string content = r.ReadToEnd(); // read all
Console.WriteLine("Content: " + content);
} // Dispose closes the file
}
else
{
Console.WriteLine("Missing file: " + path);
}
}
}
Bezpieczny zapis
StreamWriter zapisuje tekst. Przekaż append=true, aby dodawać wiersze bez nadpisywania istniejącej zawartości.
using System;
using System.IO;
public class Program
{
public static void Main(string[] args)
{
string path = Path.Combine("data", "log.txt");
// Append = true so we keep old content
using (StreamWriter w = new StreamWriter(path, true))
{
w.WriteLine(DateTime.UtcNow.ToString("u") + " - started");
w.WriteLine("Work done");
} // closed here
Console.WriteLine("Appended to log: " + path);
}
}
Sprawdzanie i wskazówki
Wskazówki:
- Przed użyciem sprawdzaj File.Exists/Directory.Exists.
- Przechwytuj IOException w przypadku błędów wejścia-wyjścia i wyświetlaj przyjazny komunikat.
- W przypadku wszystkich strumieni preferuj konstrukcję using.
Zasada bezpieczeństwa strumieni
Podsumowanie
Podsumowanie: Buduj ścieżki za pomocą Path, sprawdzaj istnienie plików i zawsze umieszczaj czytniki oraz zapisujące w bloku using, aby bezpiecznie zwalniać zasoby.
Często zadawane pytania
Czy lekcja „System.IO (ścieżki, strumienie)” jest bezpłatna?
Tak — pełny tekst „System.IO (ścieżki, strumienie)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 3 lekcji w sumie.
Co nauczysz się w „System.IO (ścieżki, strumienie)”?
Proszę używać pomocników Path, sprawdzać istnienie plików oraz odczytywać i zapisywać tekst za pomocą StreamReader/StreamWriter i instrukcji using. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć C# Academy?
Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.
Ile czasu zajmuje lekcja „System.IO (ścieżki, strumienie)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?
Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- System.IO (ścieżki, strumienie)
- JSON z System.Text.Json (jawne wybieranie elementów, konwertery)
- Proste wzorce analizowania CSV