Praca z plikami
Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 26 z 66.
W języku C# możesz pracować z plikami, używając klas z przestrzeni nazw System.IO. Dwie główne klasy służące do pracy z plikami tekstowymi to StreamReader (do odczytu) i StreamWriter (do zapisu).
Zapisywanie do pliku:
using System.IO;
// Utwórz StreamWriter, aby zapisywać do pliku
StreamWriter writer = new StreamWriter("myfile.txt");
// Zapisz tekst do pliku
writer.WriteLine("Hello, World!");
writer.WriteLine("This is line 2");
// Zamknij plik
writer.Close();Odczytywanie z pliku:
using System.IO;
// Utwórz StreamReader, aby odczytać dane z pliku
StreamReader reader = new StreamReader("myfile.txt");
// Odczytaj całą zawartość pliku
string content = reader.ReadToEnd();
Console.WriteLine(content);
// Zamknij plik
reader.Close();Odczytywanie wiersz po wierszu:
StreamReader reader = new StreamReader("myfile.txt");
// Odczytaj pierwszą linię
string line1 = reader.ReadLine();
Console.WriteLine(line1);
// Odczytaj drugą linię
string line2 = reader.ReadLine();
Console.WriteLine(line2);
reader.Close();Pamiętaj, aby zawsze zamykać pliki za pomocą Close(), gdy skończysz!
Wyzwanie
ŁatwyUtwórz metodę o nazwie ReadFile, która:
- Przyjmuje jeden parametr typu string:
filename - Odczytuje zawartość pliku za pomocą
StreamReader - Wyświetla zawartość w konsoli
- Zamyka czytnik
Spróbuj swoich sił
using System;
using System.IO;
class Program
{
public static void ReadFile(string filename)
{
// Wpisz tutaj swój kod
}
static void Main(string[] args)
{
string filename = Console.ReadLine();
ReadFile(filename);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i sterowanie przepływem
1Tablice wielowymiarowe
Podstawy tablic 2DDeklarowanie i inicjalizacja tablic 2DDostęp do elementów tablic 2DZagnieżdżone pętle z tablicami 2DTablice postrzępionePodstawowe operacje na macierzachPodsumowanie — tablice wielowymiarowe4Techniki sterowania przepływem
Wczesne zwrotyKlauzule ochronneInstrukcje skoku (goto)Break i continueSpłaszczanie zagnieżdżonych warunków7Zaawansowane operatory logiczne
Ewaluacja z krótkim spięciemWarunkowe operatory logicznePriorytet operatorówPowtórzenie — zaawansowane operatory2Zaawansowane podejmowanie decyzji
Wiele warunkówZłożona logika Boole’aPorównanie if i switchZagnieżdżone instrukcje switchPodsumowanie — zaawansowane decyzje5Obsługa wyjątków
Podstawy try-catchTypy wyjątkówWiele bloków catchPraca z plikamiBlok finallyusing a try-finallyWłasne wyjątkiPowtórzenie — obsługa błędów3Udoskonalenia pętli
Wydajność pętliIterowanie po złożonych strukturachKażdy typ pętliRefaktoryzacja pętliPodsumowanie — zoptymalizowane pętle6Obsługa wartości null
Podstawy referencji nullTypy wartości dopuszczające nullWzorce sprawdzania nullProgramowanie defensywnePodsumowanie — bezpieczeństwo nullPoćwicz samodzielnie: Kompilator C# online