Jak číst pomocí System.IO a Visual C# do textového souboru

Překlady článku Překlady článku
ID článku: 306777 - Produkty, které se vztahují k tomuto článku.
Microsoft Visual Basic .NET verzi tohoto článku v tématu 302309.

Tento článek se týká následujících oborů názvů knihovny tříd technologie Microsoft .NET Framework:
  • System.IO
  • System.Collections
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak načíst informace z textového souboru (.txt) a pak použít třídu ArrayList Chcete-li zobrazit tyto informace pro uživatele.

Požadavky

Microsoft Visual C#

Čtení textových souborů v jazyce Visual C#

Otevření a čtení souborů pro přístup pro čtení je důležitou součástí funkce vstupně výstupní (I/O), i v případě, že nepotřebujete zapisovat do souboru dotyčné. Tento příklad otevře soubor pro čtení, což je užitečné pro čtení textových souborů, ale nevhodné pro binární soubory. Tento příklad používá mnoho metod, které jsou k dispozici pro otevření souboru.

Přestože mnoho datových struktur jsou k dispozici pro ukládání informací, které je načteno z soubor, je třída ArrayList Nejjednodušší struktura použít. Chcete-li otevřít a číst ze souboru, v tomto příkladu je pomocí objektů z oboru názvů System.IO, konkrétně System.IO.StreamReader třídy.

Poznámka: Tato ukázka vyžaduje určitou formu textového souboru (TXT) ze které chcete číst.

Chcete-li načíst a číst pomocí textového souboru z aplikace Visual C#, postupujte takto:
  1. Spusťte Microsoft Visual Studio.
  2. Vytvoření nové aplikace konzoly v jazyce Visual C#. Visual Studio vytvoří Statické třídy, spolu s prázdné procedury Main().
  3. Ověřte projektu odkazuje alespoň oboru názvů System. Použijte příkaz pomocí na oborech názvů systémuSystem.IO a System.Collections tak, že není nutné ke kvalifikaci prohlášení z těchto oborů názvů později ve vašem kódu. Je nutné použít tyto příkazy před všechny ostatní prohlášení.
    using System;
    using System.IO;
    using System.Collections;
    					
  4. Chcete-li otevřít soubor pro čtení, vytvoření nové instance objektu StreamReader a předat cestu do konstruktoru takto:
    StreamReader objReader = new StreamReader("c:\\test.txt");
    					
  5. Musíte mít řetězcové proměnné, do níž chcete uložit každý řádek v souboru, jako provádíte. Protože vám bude být přidáte tyto řádky ArrayList, deklarovat a vytvořit objekt tohoto typu, také.
    string sLine="";
    ArrayList arrText = new ArrayList();
    					
  6. Existuje několik způsobů ke čtení souborů, včetně metodu ReadToEnd, která načte celý soubor současně. Však v tomto příkladu můžete metodu ReadLine podat v jednom řádku souboru současně. Jakmile je dosaženo konce souboru, tato metoda vrátí hodnotu null, který poskytuje způsob ukončení vaší smyčky. Každý řádek při čtení ze souboru, můžete Přidat metodu ArrayList vložit řádky do vašeho ArrayList třída
    while (sLine != null)
    {
    	sLine = objReader.ReadLine();
    	if (sLine != null)
    		arrText.Add(sLine);
    }
    objReader.Close();
    					
  7. Pomocí smyčky pro každý zapsat obsah vaší nově vyplněné ArrayList ke konzole takto:
    foreach (string sOutput in arrText)
    	Console.WriteLine(sOutput);
    Console.ReadLine();
    					
  8. Uložit a spustit kód vytváří seznam souboru konzoly.

Dokončení výpis kódu

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();
		}
	}
}
				

Poradce při potížích

Mějte na paměti při práci se souborem I/O, včetně následujících položek v několika způsoby:
  • Kdykoli získat přístup k požadovanému souboru je možné, že soubor, který se pokoušíte čtení nebo zápis nemusí být v systému nebo může být používán.
  • V tomto příkladu načte do paměti celý soubor, před zpracuje soubor. Mohou nastat situace, ve kterém soubor je příliš velký být drženy v paměti, nebo není nemáte oprávnění k přístupu k souboru.
Některé z těchto situací způsobit výjimku být zvýšen. Je vhodné vždy poskytnout bloku akci... úlovku ke zpracování těchto běžných problémů.

Vlastnosti

ID článku: 306777 - Poslední aktualizace: 28. srpna 2007 - Revize: 2.6
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2008 Express Edition
Klíčová slova: 
kbmt kbcollections kbhowtomaster kbio KB306777 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:306777

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com