Odczytywanie i zapisywanie plików
Poznaj sposób tworzenia, odczytywania i zapisywania plików za pomocą języka C#
Odczytywanie i zapisywanie plików to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 z 5. 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 5 lekcji w sumie.
Wprowadzenie do operacji wejścia-wyjścia
Odczytywanie i zapisywanie plików
Witamy w pierwszej lekcji kategorii „Praca z plikami i danymi”! W tej lekcji dowiedzą się Państwo, jak odczytywać i zapisywać pliki w języku C#, co umożliwia przechowywanie i pobieranie danych z plików tekstowych. Zaczynajmy!

Dlaczego warto pracować z plikami?
Pliki pozwalają programom trwale przechowywać dane, dzięki czemu pozostają one dostępne nawet po zamknięciu aplikacji. Niezależnie od tego, czy przechowuje się dane użytkowników, dzienniki czy konfiguracje, obsługa plików jest kluczową umiejętnością programistów.
Najważniejsze: C# udostępnia wbudowane klasy, takie jak File, StreamReader i StreamWriter, do obsługi operacji na plikach.
Odczytywanie plików
Aby odczytać zawartość pliku, należy użyć metody File.ReadAllText() w przypadku małych plików lub klasy StreamReader w przypadku większych plików. Przykład:
Najważniejsze: Przed próbą odczytu pliku należy zawsze sprawdzić, czy on istnieje.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.txt";
// Reading a file using File.ReadAllText()
if (File.Exists(filePath)) {
string content = File.ReadAllText(filePath);
Console.WriteLine("File Content:");
Console.WriteLine(content);
} else {
Console.WriteLine("File does not exist.");
}
}
}
Zapisywanie plików
Aby zapisać dane w pliku, należy użyć metody File.WriteAllText() w przypadku małych plików lub klasy StreamWriter, jeśli potrzebna jest większa kontrola. Przykład:
Wskazówka: Należy używać File.AppendAllText(), aby dodać dane do istniejącego pliku bez zastępowania jego zawartości.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.txt";
string content = "Hello, this is a test file.";
// Writing to a file using File.WriteAllText()
File.WriteAllText(filePath, content);
Console.WriteLine("File written successfully.");
}
}
Odczytywanie plików wiersz po wierszu
W przypadku dużych plików wydajniejsze jest odczytywanie ich wiersz po wierszu za pomocą StreamReader. Przykład:
Najważniejsze: Należy używać instrukcji using, aby zagwarantować prawidłowe zamknięcie pliku po zakończeniu odczytu.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "example.txt";
// Reading a file line by line using StreamReader
if (File.Exists(filePath)) {
using (StreamReader reader = new StreamReader(filePath)) {
string line;
while ((line = reader.ReadLine()) != null) {
Console.WriteLine(line);
}
}
} else {
Console.WriteLine("File does not exist.");
}
}
}
Dopisywanie danych do plików
Aby dodać dane do istniejącego pliku, należy użyć File.AppendAllText() lub klasy StreamWriter z flagą append ustawioną na true. Przykład:
Wskazówka: Należy używać Environment.NewLine, aby zapewnić prawidłowe łamanie wierszy.
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "output.txt";
string newContent = "This line will be appended.";
// Appending data to a file
File.AppendAllText(filePath, newContent + Environment.NewLine);
Console.WriteLine("Data appended successfully.");
}
}
Zadanie praktyczne
Proszę utworzyć program, który zapisuje w pliku listę nazw wprowadzonych przez użytkownika, a następnie odczytuje plik i wyświetla te nazwy. Przykład:
using System;
using System.IO;
class Program {
static void Main() {
string filePath = "names.txt";
// Writing user-entered names to a file
Console.WriteLine("Enter names (type 'exit' to stop):");
using (StreamWriter writer = new StreamWriter(filePath)) {
string name;
while ((name = Console.ReadLine()) != "exit") {
writer.WriteLine(name);
}
}
// Reading the file
Console.WriteLine("\nNames in the file:");
using (StreamReader reader = new StreamReader(filePath)) {
string line;
while ((line = reader.ReadLine()) != null) {
Console.WriteLine(line);
}
}
}
}
Najlepsze praktyki dotyczące obsługi plików
Oto kilka najlepszych praktyk:
- Przed odczytem pliku lub dopisaniem do niego danych należy zawsze sprawdzić, czy plik istnieje.
- Należy używać instrukcji
using, aby automatycznie zamykać strumienie plików. - Należy obsługiwać wyjątki, aby uniknąć awarii podczas pracy z brakującymi lub zablokowanymi plikami.
Wskazówka: Prawidłowa obsługa plików zapewnia odporność programu i jego działanie bez błędów.
Podsumowanie operacji wejścia/wyjścia na plikach
Świetna robota!
Gratulacje! Nauczyli się Państwo, jak odczytywać i zapisywać pliki w języku C#. W następnej lekcji poznają Państwo sposoby pracy z formatami danych JSON i XML. Kodujmy dalej!

Ucz się C# dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 93
- Lekcje
- 346
Często zadawane pytania
Czy lekcja „Odczytywanie i zapisywanie plików” jest bezpłatna?
Tak — pełny tekst „Odczytywanie i zapisywanie plików” 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 5 lekcji w sumie.
Co nauczysz się w „Odczytywanie i zapisywanie plików”?
Poznaj sposób tworzenia, odczytywania i zapisywania plików za pomocą języka C# Ć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 5.
Ile czasu zajmuje lekcja „Odczytywanie i zapisywanie plików”?
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
- Odczytywanie i zapisywanie plików
- Praca z JSON i XML
- Obsługa wyjątków
- Praca z bazami danych
- Używanie LINQ do zapytań dotyczących danych