Kuidas lugeda teksti faili kasutades System.IO ja Visual C#

Artiklite tõlked Artiklite tõlked
Artikli ID: 306777 - Vaadake tooteid, millega see artikkel seostub.
Selle artikli Microsoft Visual Basic .net-i jaoks leiate artiklinumbriga 302309.

See artikkel osutab järgmisi Microsoft .NET raamistiku klassi Raamatukogu nimeruume:
  • System.IO
  • System.Collections
Laienda kõik | Ahenda kõik

Sellel veebilehel

Kokkuvõte

Käesolevas juhendavas artiklis näitab teile, kuidas tooma teavet tekstifaili (.txt), ja seejärel kasutage loendit ArrayList klassi kasutajale kõnealuse teabe kuvamiseks.

Nõuded

Microsoft Visual C#

Lugemine tekstifailidest ja Visual C#

Avamine ja lugemine failide lugemiseks on oluline osa sisend/väljund (IO) funktsionaalsus, isegi siis, kui sa pead kõnealuse faili kirjutada. See näide avab faili lugemine, mis on kasulik lugemine tekstifailidest kuid sobimatu binaarfailidena. See näide kasutab üks paljudest meetoditest, mida on saadaval fail avada.

Kuigi paljud andmestruktuurid on saadaval teavet, mida on välja otsitud faili salvestada, on loendit ArrayList klassi kasutada lihtsamaid struktuur. Avada ja lugeda failist, näites kasutatakse objektide System.IO nimeruumi, konkreetselt System.IO.StreamReader klassi.

Märkus See proov nõuab mingil kujul tekstifaili (.txt) vormingus, kust lugeda.

Laadimiseks ja Loe läbi tekst faili alates Visual C#, toimige järgmiselt.
  1. Käivitage Microsoft Visual Studio.
  2. Loo uus konsool rakendus ja Visual C#. Visual Studio loob Staatilise klassi teile, koos tühi Main() menetlust.
  3. Veenduge, et projekti viitaks vähemalt System nimeruumile. Kasutage kasutades lauset süsteem, System.IOja System.Collections nimeruume, nii, et sa ei pea saada saadud nende nimeruumidega hiljem tuumaklassi oma koodis. Need avaldused enne mis tahes muud tollideklaratsioonid tuleb teil kasutada.
    using System;
    using System.IO;
    using System.Collections;
    					
  4. Avate faili lugemiseks, luua StreamReader objekti uus eksemplar ja lähevad selle faili tee ehitaja järgmiselt:
    StreamReader objReader = new StreamReader("c:\\test.txt");
    					
  5. Sul peab olema stringi muutuja, kus soovite talletada iga rida faili, kui sa protsessi käigus. Sest siis tuleb lisada nende ridade loendit ArrayList, deklareerida ja luua seda tüüpi objekti ka.
    string sLine="";
    ArrayList arrText = new ArrayList();
    					
  6. Seal on mitmeid viise, kuidas lugeda faili, sealhulgas ReadToEnd meetodi, mis kõlab kogu faili korraga. Siiski, näiteks, saate ReadLine meetod tuua faili üks rida korraga. Kui faili lõppu jõudnud, see meetod tagastab null, mis võimaldab teil end oma loop. Nagu te lugeda iga rea faili, saate loendit ArrayList lisamismeetodit ridade lisamiseks oma loendit ArrayList klassi.
    while (sLine != null)
    {
    	sLine = objReader.ReadLine();
    	if (sLine != null)
    		arrText.Add(sLine);
    }
    objReader.Close();
    					
  7. Iga ahela abil saate kirjutada oma äsja täidetud loendit ArrayList sisu konsooli järgmiselt:
    foreach (string sOutput in arrText)
    	Console.WriteLine(sOutput);
    Console.ReadLine();
    					
  8. Salvesta ja Käivita oma kood, mis toodab nimekiri konsooli faili.

Täieliku koodi nimekirja

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

Tõrkeotsing

Seal on mitmeid asju, mida olema teadlikud kui töötate faili I/O, sealhulgas järgmist:
  • Iga kord, kui teil on juurdepääs faili, on olemas võimalus, et fail, mida proovite lugeda või kirjutada ei tohi süsteemi või võib kasutada.
  • Näiteks loeb kogu faili mällu, enne kui ta töötleb faili. Võib tekkida olukord, kus fail on liiga suur, mis toimub mälu või pole teil faili juurdepääsu õigust.
Mõni neist olukordadest põhjustada erand tuleb tõsta. See on alati hea tava anda proovida... saagi plokk neid ühiseid teemasid käsitleda.

Atribuudid

Artikli ID: 306777 - Viimati läbi vaadatud: 7. juuni 2013 - Redaktsioon: 1.0
Kehtib järgmise lõigu kohta:
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2008 Express Edition
Märksõnad: 
kbcollections kbhowtomaster kbio kbmt KB306777 KbMtet
Masintõlgitud
NB! Artikkel on tõlgitud Microsofti masintõlketarkvaraga ja seda saab parandada Kogukonnapõhise tõlkeraamistiku (CTF) tehnoloogiaga. Microsoft pakub masintõlgitud, kogukonna järeltöödeldud ja inimtõlgitud artikleid, et anda mitmekeelne juurdepääs kõigile meie teabebaasi artiklitele. Masintõlgitud ja järeltöödeldud artiklites võib olla sõnavara-, süntaksi- ja/või grammatikavigu. Microsoft ei vastuta mingite ebatäpsuste, tõrgete ega kahjude eest, mis on tulenenud sisu valest tõlkest või selle kasutamisest meie klientide poolt. Lisateavet CTF-i kohta leiate aadressilt http://support.microsoft.com/gp/machine-translation-corrections/et.
Artikli ingliskeelse versiooni kuvamiseks klõpsake siin: 306777

Andke tagasisidet

 

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