Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Jak odczytywać plik tekstowy za pomocą przestrzeni nazw System.IO i Visual C#

WAŻNE: Ten artykuł został przetłumaczony przy użyciu oprogramowania firmy Microsoft do tłumaczenia maszynowego i może być poprawiony przy użyciu technologii Community Translation Framework (CTF). Firma Microsoft udostępnia artykuły tłumaczone maszynowo, poprawione przez społeczność, a także tłumaczone przez tłumaczy profesjonalnych, aby zapewnić dostęp do wszystkich artykułów w bazie wiedzy w wielu językach. Artykuły tłumaczone maszynowo i poprawione mogą zawierać błędy pisowni, składniowe i gramatyczne. Firma Microsoft nie ponosi odpowiedzialności za żadne nieścisłości, błędy ani szkody spowodowane przez niepoprawne tłumaczenia zawartości ani przez korzystanie z niej przez klientów. Więcej o strukturze CTF: http://support.microsoft.com/gp/machine-translation-corrections/pl.

Anglojęzyczna wersja tego artykułu to: 306777
Wersja tego artykułu do programu Microsoft Visual Basic .NET dla 302309.

W tym artykule odnosi się do następujących nazw biblioteki klas.NET Framework firmy Microsoft:
  • System.IO
  • System.Collections
Streszczenie
W tym artykule krok po kroku pokazano, jak pobierać informacje z pliku tekstowego (.txt), a następnie użyć klasy ArrayList, aby wyświetlić te informacje.

Wymagania

Program Microsoft Visual C#

Odczyt plików tekstowych w środowisku Visual C#

Otwieranie i odczyt plików dla dostępu do odczytu jest ważną częścią funkcji wejścia/wyjścia (We/Wy), nawet jeśli nie trzeba zapisać w pliku. W tym przykładzie otwiera plik do odczytu, co jest przydatne do odczytywania plików tekstowych, ale nieodpowiednie dla plików binarnych. W tym przykładzie wykorzystuje jedną z wielu metod, które są dostępne do otwierania pliku.

Chociaż wiele struktur danych są dostępne do przechowywania informacji, które są pobierane z pliku, ArrayList klasy jest najprostszym strukturę, aby użyć. Aby otworzyć i odczytać z pliku, w tym przykładzie użyto obiektów z obszaru nazw System.IO , w szczególności klasy System.IO.StreamReader .

Uwaga Próbka ta wymaga pewnego rodzaju plików tekstowych (.txt), z którego można odczytać.

Aby załadować i odczytać za pomocą pliku tekstowego z programu Visual C#, wykonaj następujące kroki:
  1. Uruchom program Microsoft Visual Studio.
  2. Tworzenie nowej aplikacji konsoli w środowisku Visual C#. Program Visual Studio utworzy Klasy statycznej , wraz z pustą procedurę Main() .
  3. Zweryfikuj, że projekt odwołuje się co najmniej obszar nazw systemu . Za pomocą instrukcji przy użyciu na obszarach nazw systemu, System.IOi System.Collections tak, że nie należy kwalifikować się deklaracje z tych obszarów nazw w dalszej części kodu. Należy użyć tych instrukcji przed wszelkimi innymi deklaracjami.
    using System;using System.IO;using System.Collections;					
  4. Aby otworzyć pliku do odczytu, utworzyć nowe wystąpienie obiektu TextWriter i przekazać ścieżkę do pliku do konstruktora w następujący sposób:
    StreamReader objReader = new StreamReader("c:\\test.txt");					
  5. Musisz mieć zmienną tekstową, w której chcesz przechowywać każdy wiersz pliku podczas przetwarzania. Ponieważ te wiersze będzie dodanie do ArrayList, zadeklarować i utworzyć obiekt tego typu, a także.
    string sLine="";ArrayList arrText = new ArrayList();					
  6. Istnieje kilka sposobów do odczytu pliku, w tym metodę ReadToEnd , która odczytuje w całym pliku na raz. Jednakże na przykład, można użyć metody ReadLine wnieść w jeden wiersz pliku na raz. Gdy osiągnięty zostanie koniec pliku, Metoda ta zwraca wartość null, co umożliwia kończy się pętli. Każdy wiersz podczas czytania z pliku, można użyć metody AddArrayList , aby wstawić wiersze do swojej klasy ArrayList .
    while (sLine != null){	sLine = objReader.ReadLine();	if (sLine != null)		arrText.Add(sLine);}objReader.Close();					
  7. Za pomocą pętli dla każdego zapisu zawartość z nowo wypełniony ArrayList do konsoli w następujący sposób:
    foreach (string sOutput in arrText)	Console.WriteLine(sOutput);Console.ReadLine();					
  8. Zapisz i uruchom swój kod, który produkuje aukcji Twojego pliku konsoli.

Kompletny kod

using System;using System.IO;using System.Collections;namespace TextFileReader_csharp{	/// <summary>	/// Summary description for Class1.	/// </summary>	class Class1	{		static void Main(string[] args)		{			StreamReader objReader = new StreamReader("c:\\test.txt");			string sLine="";			ArrayList arrText = new ArrayList();			while (sLine != null)			{				sLine = objReader.ReadLine();				if (sLine != null)					arrText.Add(sLine);			}                        objReader.Close();			foreach (string sOutput in arrText)				Console.WriteLine(sOutput);			Console.ReadLine();		}	}}				

Rozwiązywanie problemów

Istnieje kilka sposobów należy pamiętać podczas pracy z plikiem we/wy, w tym następujące elementy:
  • Dowolnym momencie uzyskać dostęp do pliku, istnieje możliwość, że plik, który próbujesz odczytu lub zapisu nie może być w systemie lub mogą być używane.
  • W tym przykładzie odczytuje całego pliku do pamięci, przed ponownym rozpoczęciem przetwarzania pliku. Może wystąpić sytuacja, w której plik jest zbyt duży, aby być przechowywane w pamięci lub nie masz uprawnień dostępu do tego pliku.
Żadna z tych sytuacji wywołać wyjątek należy podnieść. Zawsze jest dobrą praktyką, aby zapewnić blok try... catch do obsługi tych typowych problemów.
try-catch

Ostrzeżenie: ten artykuł przetłumaczono automatycznie

Właściwości

Identyfikator artykułu: 306777 — ostatni przegląd: 02/09/2014 01:06:00 — zmiana: 6.0

Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2008 Express Edition

  • kbcollections kbhowtomaster kbio kbmt KB306777 KbMtpl
Opinia