Ako čítať textový súbor pomocou System.IO a Visual C#

Preklady článku Preklady článku
ID článku: 306777 - Zobraziť produkty, ktorých sa tento článok týka.
Pre Microsoft Visual Basic.ČISTÁ verziu tohto článku, pozri 302309.

Tento článok odkazuje na nasledujúce Microsoft.Menných NET rámec triedy knižnica:
  • System.io
  • System.Collections
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

V tomto krokovom ukazuje, ako získavať informácie z textového súboru (.txt), a potom použite ArrayList Trieda zobraziť tieto informácie používateľovi.

Požiadavky

Microsoft Visual C#

Čítanie textových súborov v Visual C#

Otvorenie a čítanie súborov na čítanie je dôležitou súčasťou vstupno-výstupné (IO) funkcie, aj keď nie je potrebné zapísať do súboru. V tomto príklade otvára súbor na čítanie, ktorý je užitočná na čítanie textových súborov, ale nevhodné pre binárne súbory. Tento príklad používa jeden z mnohých spôsobov, ktoré sú k dispozícii pre otvorenie súboru.

Hoci mnoho dátových štruktúr sú k dispozícii na uloženie načítané zo súboru, informácie o ArrayList Trieda je najjednoduchší štruktúra používať. Chcete otvoriť a čítať zo súboru, tento príklad používa objektov z System.io priestor názvov, konkrétne System.io.StreamReader trieda.

Poznámka Táto vzorka vyžaduje nejakú formu textom (.txt) súboru, z ktorého sa čítať.

Ak chcete načítať a čítať pomocou textového súboru z Visual C#, postupujte nasledovne:
  1. Spustiť Microsoft Visual Studio.
  2. Vytvorte novú konzolovú aplikáciu v Visual C#. Vytvorí Visual Studio Statické triedy pre vás, spolu s prázdne Main() postup.
  3. Overiť, že projekt odkazy aspoň Systém priestor názvov. Použitie pomocou vyhlásenie o Systém, System.io, a System.Collections menné priestory tak, že nie ste povinná kvalifikovať vyhlásenia od tieto priestory názvov v kóde neskôr. Musíte použiť tieto výkazy pred všetkými ostatnými deklaráciami.
    using System;
    using System.IO;
    using System.Collections;
    					
  4. Ak chcete otvoriť súbor na čítanie, vytvoriť novú inštanciu StreamReader objekt a prejsť cestu k súboru do konstruktoru takto:
    StreamReader objReader = new StreamReader("c:\\test.txt");
    					
  5. Musíte mať reťazec premenná, v ktorom chcete uložiť každý riadok súboru ako ste procese. Pretože budete pridania tieto riadky ArrayList, deklarovať a vytvoriť objekt daného typu, tiež.
    string sLine="";
    ArrayList arrText = new ArrayList();
    					
  6. Existuje niekoľko spôsobov na čítanie súboru, vrátane ReadToEnd metóda, ktorá číta v súbore celý naraz. Však môžete napríklad použiť ReadLine metóda priniesť v jednom riadku súboru v čase. Keď sa dosiahne koniec súboru, táto metóda vráti hodnotu null, ktorá poskytuje spôsob, ako ukončiť vaše slučky. Ako budete čítať každý riadok zo súboru, môžete použiť Pridať metóda ArrayList na vkladanie riadkov do vášho ArrayList trieda.
    while (sLine != null)
    {
    	sLine = objReader.ReadLine();
    	if (sLine != null)
    		arrText.Add(sLine);
    }
    objReader.Close();
    					
  7. Použitie Pre každý slučky písať obsah vašej novo plnené ArrayList na konzole takto:
    foreach (string sOutput in arrText)
    	Console.WriteLine(sOutput);
    Console.ReadLine();
    					
  8. Uložte a spustiť kód, ktorý vytvára zoznam váš súbor do konzoly.

Zoznam kompletné kód

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

Riešenie problémov

Existuje niekoľko vecí informovaní o keď pracujete so súborom I/O, vrátane týchto položiek:
  • Kedykoľvek, že pristupujete k súboru, existuje možnosť, že súbor, ktorý sa pokúšate čítať alebo zapisovať nie je možné v systéme alebo možno práve používa.
  • V tomto príklade načíta celý súbor do pamäte, skôr ako súbor. Môžu sa vyskytnúť situácie, v ktorom súbor je príliš veľký, ktorý sa bude konať v pamäti, alebo nemáte povolenia na prístup k súboru.
Tieto situácie spôsobiť výnimku vzrásť. To je vždy dobré praxe poskytovať Skúste... výlovu blok zvládnuť tieto spoločné otázky.

Vlastnosti

ID článku: 306777 - Posledná kontrola: 31. októbra 2011 - Revízia: 2.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2008 Express Edition
Kľúčové slová: 
kbcollections kbhowtomaster kbio kbmt KB306777 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:306777

Odošlite odozvu

 

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