System.IO ve Visual C# kullanarak bir metin dosyası okuma

Makale çevirileri Makale çevirileri
Makale numarası: 306777 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalenin Microsoft Visual Basic .NET sürümü için bkz: 302309.

Bu makalede, aşağıdaki Microsoft .NET Framework sınıf kitaplığı ad alanlarına başvurur:
  • System.IO
  • System.Collections
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, bir metin dosyasından (.txt) bilgilerini almak ve sonra bu bilgileri kullanıcıya görüntülenecek bir ArrayList sınıfını kullanın gösterilmiştir.

Gereksinimleri

Microsoft Visual C#

Visual C# içinde metin dosyalarını okuma

Dosyaya yazma gerekmez açma ve okuma erişimi için dosyaları okuma giriş/çıkış (g/ç) işlevselliği, önemli bir kısmını bile. Bu örnek için okuma, metin dosyaları okumak için yararlı olur, ancak ikili dosyaları için uygun olmayan bir dosya açar. Bu örnek, bir dosyayı açmak için kullanılabilir olan birçok yöntem kullanır.

Birçok veri yapıları, dosyadan alınan bilgileri depolamak kullanılabilir olmakla birlikte, bir ArrayList sınıfını kullanmak için en kolay yapısıdır. Açın ve dosyayı okumak için bu örnek System.IO ad, özellikle System.IO.StreamReader sınıf nesnesi kullanır.

Not Bu örnek, bir metin (.txt) dosyasından okumaya, çeşit gerektirir.

Yüklemek ve Visual C# [NULL]'tan bir metin dosyası aracılığıyla okumak için aşağıdaki adımları izleyin:
  1. Microsoft Visual Studio'yu başlatın.
  2. Visual C# içinde yeni bir konsol uygulaması oluşturun. Visual Studio bir Static bir s?n?f?n bir boş Main() yordamı ile birlikte sizin için oluşturur.
  3. Proje en az Sistem isim uzayı başvurur doğrulayın. Böylece gelen bu ad daha sonra kodunuzda bildirimleri niteleme gerekmez System.CollectionsSistemve System.IOad alanları üzerinde kullanarak deyimini kullanın. Bu ifadeler tüm diğer bildirimlerden önce kullanmalısınız.
    using System;
    using System.IO;
    using System.Collections;
    					
  4. Okuma için bir dosyayı açmak için StreamReader nesnenin yeni bir örneğini oluşturun ve dosyanın yolu şu şekilde oluşturucusuna geçirin:
    StreamReader objReader = new StreamReader("c:\\test.txt");
    					
  5. Bir dize değişkeni, işlem olarak depolanacağı dosyanın her satırından olması gerekir. Bu satırlar bir ArrayListeklemek olacaktır çünkü bildirmek ve de bu türde bir nesne oluşturun.
    string sLine="";
    ArrayList arrText = new ArrayList();
    					
  6. Okur ReadToEnd yöntemi dosyanın tamamını tek seferde dahil, dosyayı okumak için birkaç yol vardır. Ancak, bu örnekte, dosya tek satırda birer birer getirmek için ReadLine yöntemini kullanabilirsiniz. Bu yöntem, dosyanın sonuna ulaşıldığında, döngü sona erdirmek bir yol sağlayan bir null döndürür. Her satırı Dosyadan okurken, ArrayList sınıfınız içinde satırları eklemek için Add yöntemini ArrayList kullanabilirsiniz.
    while (sLine != null)
    {
    	sLine = objReader.ReadLine();
    	if (sLine != null)
    		arrText.Add(sLine);
    }
    objReader.Close();
    					
  7. Her biri için döngü ArrayList kendi yeni dolu içeriği gibi konsola yazmak için kullanın:
    foreach (string sOutput in arrText)
    	Console.WriteLine(sOutput);
    Console.ReadLine();
    					
  8. Kaydet ve dosyanızı konsoluna listesini üretir kodunuzu çalıştırın.

Tam kod listesi

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

Sorun giderme

Aşağıdaki öğeler de dahil olmak üzere g/ç dosyasıyla çalışırken bilmeniz gereken birkaç şey vardır:
  • Bir dosya, erişmek istediğiniz zaman, okumaya veya yazmaya çalıştığınız dosya sisteminde olmayabilir veya kullanımda olabilir olasılığı bulunmaktadır.
  • Bu örnek dosyasını işlemeden önce dosyanın tamamını belleğe okur. Dosya bellekte tutulması için çok büyük bir durumla karşılaşabilirsiniz veya dosyaya erişim izniniz olmayabilir.
Bu durumlardan herhangi biri olarak yükseltilmiş olması için bir özel durum neden. Her zaman bu ortak sorunları ele almak için bir try... catch bloğu sağlamak için iyi bir uygulamadır.

Özellikler

Makale numarası: 306777 - Last Review: 31 Aralık 2012 Pazartesi - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2008 Express Edition
Anahtar Kelimeler: 
kbcollections kbhowtomaster kbio kbmt KB306777 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 306777

Geri Bildirim Ver

 

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