Jak odczytać plik tekstowy w C#

Jak odczytać plik tekstowy w C#
Czytanie pliku tekstowego w C# to podstawowa operacja wymagana w wielu aplikacjach. Czytanie plików tekstowych w C# umożliwia programistom tworzenie elastycznych aplikacji i może łatwo dostosować się do zmian w przetwarzanych danych. Czytając pliki tekstowe, programy mogą być zaprojektowane do obsługi różnych rodzajów danych bez konieczności ponownej rekompilracji lub modyfikowania, ten artykuł omówimy dwie najczęściej używane metody czytania pliku tekstowego w C#.

Jak odczytać plik tekstowy w C#

Celem odczytania pliku tekstowego w C# jest pobieranie informacji z pliku i przetworzenie ich w ramach programu C#. Pliki tekstowe są powszechnie używane do przechowywania danych, które należy odczytać i przetwarzać przez program, takie jak pliki konfiguracyjne, pliki dziennika lub pliki danych, oto dwa sposoby odczytania pliku tekstowego w C#:

  • Za pośrednictwem pliku.ReadallText
  • Poprzez klasę strumieniową

Za pośrednictwem pliku.ReadallText

Ta funkcja odczytuje cały plik tekstowy jednocześnie i zwraca go jako ciąg, oto przykład tego, jak używać tej funkcji do odczytu pliku tekstowego w C#:

za pomocą systemu;
za pomocą systemu.Io;
Przestrzeń nazw ReadingTextFile

Program klasowy

Statyczne pustka główna (String [] args)

// Podaj ścieżkę pliku tekstowego
String filePath = @"C: \ Users \ aaliy \ onedrive \ Desktop \ Test plik testowy.tekst";
// czytanie pliku tekstowego
String fileContent = plik.ReadallText (FilePath);
// Wyświetl zawartość pliku tekstowego
Konsola.WriteLine (FiLecontent);


Oto wyjaśnienie przykładowego kodu, który podaliśmy powyżej:

1: Korzystanie z systemu; i za pomocą systemu.Io: Te wiersze zawierają niezbędne przestrzenie nazw do użycia pliku.Funkcja readallText (). Przestrzeń nazw systemów zawiera klasę konsoli używaną do wyświetlania zawartości pliku tekstowego i systemu.Przestrzeń nazw IO zawiera klasę plików, która odczytuje plik tekstowy.

2: Przestrzeń nazw ReadingTextFile: Deklaracja przestrzeni nazw definiuje zakres programu i pomaga uporządkować kod.

3: Program klasowy: Deklaracja klas definiuje plan obiektu i zawiera dane i zachowanie obiektu.

4: Static void main (String [] args): Główna metoda jest zdefiniowana jako metoda statyczna, co oznacza, że ​​można ją wywołać bez tworzenia klasy. Główna metoda jest deklarowana jako nieważna, ponieważ nie zwraca wartości. Parametr String [] Args to tablica ciągów, którą można przekazać do programu po uruchomieniu.

5: String filepath = @”C: : \ Users \ aaliy \ onedrive \ Desktop \ Test plik testowy.tekst": Ta linia deklaruje ścieżkę pliku zmiennej ciągu i przypisuje do niej ścieżkę pliku pliku tekstowego. Symbol @ przed ścieżką pliku umożliwia użycie znaków ucieczki w ciągu.

6: String fileContent = plik.ReadallText (FilePath): Ta linia używa pliku.Metoda ReadallText do odczytania całego pliku tekstowego i przechowywania zawartości pliku tekstowego w zmiennej FiLecontent String. Zmienna FilePath jest przekazywana jako parametr do funkcji, aby określić lokalizację pliku tekstowego.

7: konsola.WriteLine (FiLecontent): Ta linia używa konsoli.Funkcja writeLine (), która wyświetla zawartość pliku tekstowego na konsoli. fileContent Zmienna jest przekazywana jako parametr do konsoli.Metoda WriteLine do określenia zawartości do wyświetlenia.

Wyjście

Poniższy obraz wyświetla dane wyjściowe zawierające treść zapisaną w pliku tekstowym:

Poprzez klasę strumieniową

Klasa strumieniowy jest częścią systemu.Przestrzeń nazw IO i jest używana do czytania plików tekstowych w C#. Klasa StreamReader odczytuje plik tekstowy jeden wiersz na raz i odczytuje plik tekstowy od początku do końca, oto przykładowy kod:

za pomocą systemu;
za pomocą systemu.Io;
Przestrzeń nazw ReadingTextFile

Program klasowy

Statyczne pustka główna (String [] args)

// określ ścieżkę pliku tekstowego
String filePath = @"C: \ Users \ aaliy \ onedrive \ Desktop \ Test plik testowy.tekst";
// Otwórz plik tekstowy
używając (StreamReader StreadReader = nowy StreamReader (FilePath))

// Przeczytaj cały plik tekstowy
chwila (!Reader Stream.Koniec transmisji)

Linia ciągów = strumienia.Czytaj linię();
// Wyświetl każdy wiersz pliku tekstowego
Konsola.WriteLine (linia);




Oto wyjaśnienie kluczowych różnic w kodzie, którego użyliśmy w poprzedniej metodzie:

1: Korzystanie z systemu; i za pomocą systemu.IO: Linie te obejmują niezbędne przestrzenie nazw do korzystania z klasy przetwarzania strumienia. Przestrzeń nazw systemów zawiera klasę konsoli używaną do wyświetlania zawartości pliku tekstowego i systemu.Przestrzeń nazw IO zawiera klasę StreamReader do odczytania pliku tekstowego.

2: Używanie (strumień StreaderReader = nowy StreamReader (FilePath)): Ten wiersz otwiera plik tekstowy za pomocą klasy StreamReader. Używając instrukcja automatycznie usuwa obiekt przetwarzający strumień po wykonaniu bloku kodu w instrukcji używającej. Zmienna FilePath jest przekazywana jako parametr do konstruktora strumienia, aby określić lokalizację pliku tekstowego.

3: While (!Reader Stream.Koniec transmisji): Ta linia tworzy pętlę, która nadal wykonuje się tak długo, jak właściwość EndofStream obiektu przetwarzania strumienia jest fałszywa. Właściwość EndOfStream zwraca prawdziwie, gdy osiągnięto koniec pliku tekstowego.

4: linia ciągów = strumienia reader.Czytaj linię(): W tej linii używa klasy przetwarzania strumienia do odczytania wiersza pliku tekstowego i przechowywania wiersza w zmiennej linii.

Wyjście

Poniższy obraz wyświetla dane wyjściowe zawierające treść zapisaną w pliku tekstowym:

Wniosek

Czytanie pliku tekstowego w C# to proste zadanie, które można wykonać za pomocą klasy, lub pliku strumienia.Metoda ReadallText. Wybierz metodę, która najlepiej odpowiada Twoim potrzebom, ponieważ oba są opisane z przykładem.