Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để đọc một tập tin văn bản bằng cách sử dụng System.IO và Visual C#

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:306777
Đối với một Microsoft Visual Basic.NET Phiên bản của bài viết này, xem 302309.

Bài viết này đề cập đến Microsoft sau.Không gian tên thư viện lớp của NET Framework:
  • System.io
  • System.collections
TÓM TẮT
Bài viết từng bước này cho bạn thấy làm thế nào để lấy lại thông tin từ tệp văn bản (.txt), và sau đó sử dụng một ArrayList lớp học để hiển thị thông tin đó cho người dùng.

Yêu cầu

Microsoft Visual C#

Đọc tập tin văn bản trong Visual C#

Mở và đọc tập tin để đọc truy cập là một phần quan trọng của đầu vào/đầu ra (IO) chức năng, ngay cả khi bạn không cần phải viết thư cho các tập tin trong câu hỏi. Ví dụ này sẽ mở ra một tập tin để đọc, đó là hữu ích cho việc đọc tập tin văn bản, nhưng không thích hợp cho tập tin nhị phân. Ví dụ này sử dụng một trong nhiều phương pháp mà có sẵn cho việc mở tập tin.

Mặc dù nhiều cấu trúc dữ liệu có sẵn để lưu trữ thông tin được lấy từ các tập tin, một ArrayList lớp là cấu trúc đơn giản nhất để sử dụng. Để mở và đọc từ tệp, ví dụ này sử dụng các đối tượng từ các System.io không gian tên, cụ thể các System.io.StreamReader lớp học.

Chú ý Mẫu này đòi hỏi một số hình thức của một tập tin văn bản (.txt) mà từ đó để đọc.

Để tải và đọc qua một tập tin văn bản từ Visual C#, hãy làm theo các bước sau:
  1. Bắt đầu Microsoft Visual Studio.
  2. Tạo một ứng dụng giao diện điều khiển mới trong Visual C#. Visual Studio tạo ra một Lớp học tĩnh Đối với bạn, cùng với một sản phẩm nào Main() thủ tục.
  3. Kiểm chứng rằng dự án tham chiếu ít các Các vấn đề không gian tên. Sử dụng các bằng cách sử dụng tuyên bố về sự Các vấn đề, System.io, và System.collections không gian tên do đó bạn không phải vượt qua vòng loại tờ khai từ các không gian tên sau trong mã của bạn. Bạn phải sử dụng các báo cáo này trước khi bất kỳ tờ khai khác.
    using System;using System.IO;using System.Collections;					
  4. Để mở một tập tin cho đọc sách, tạo ra một trường hợp mới của một StreamReader đối tượng, và vượt qua con đường của tập tin vào các nhà xây dựng như sau:
    StreamReader objReader = new StreamReader("c:\\test.txt");					
  5. Bạn phải có một biến chuỗi trong đó để lưu trữ mỗi dòng của tập tin khi bạn xử lý. Bởi vì bạn sẽ có thêm những dòng này đến một ArrayList, tuyên bố và tạo một đối tượng của loại, cũng.
    string sLine="";ArrayList arrText = new ArrayList();					
  6. Có một số cách để đọc tập tin, bao gồm cả các ReadToEnd phương pháp mà đọc trong tập tin toàn bộ cùng một lúc. Tuy nhiên, ví dụ này, bạn có thể sử dụng các ReadLine phương pháp để mang lại trong tập tin một dòng một lúc. Khi kết thúc tệp được đạt tới, phương pháp này trở về một null, cung cấp một cách để bạn có thể kết thúc vòng lặp của bạn. Khi bạn đọc mỗi dòng từ tập tin, bạn có thể sử dụng các Thêm phương pháp của các ArrayList để chèn các đường vào của bạn ArrayList lớp học.
    while (sLine != null){	sLine = objReader.ReadLine();	if (sLine != null)		arrText.Add(sLine);}objReader.Close();					
  7. Sử dụng một Đối với mỗi vòng lặp để viết nội dung của bạn vừa được đầy ArrayList giao diện điều khiển như sau:
    foreach (string sOutput in arrText)	Console.WriteLine(sOutput);Console.ReadLine();					
  8. Lưu và chạy mã của bạn, trong đó sản xuất một danh sách các tập tin của bạn trên bàn điều khiển.

Danh sách mã hoàn chỉnh

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

Khắc phục sự cố

Có rất nhiều điều cần biết khi bạn làm việc với tệp i/O, bao gồm các mục sau đây:
  • Bất cứ lúc nào bạn truy cập vào một tập tin, không có khả năng rằng các tập tin mà bạn đang cố gắng để đọc hoặc viết có thể không trên hệ thống hoặc sử dụng.
  • Ví dụ này lần đọc tập tin toàn bộ vào bộ nhớ trước khi nó xử lý các tập tin. Bạn có thể gặp phải một tình huống mà trong đó các tập tin là quá lớn để được tổ chức trong bộ nhớ, hoặc bạn có thể không có quyền truy cập vào các tập tin.
Bất kỳ của các tình huống này gây ra một ngoại lệ để được nâng lên. Nó luôn luôn là thực hành tốt để cung cấp một Hãy thử... bắt khối để xử lý những vấn đề phổ biến.
cố gắng nắm bắt

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 306777 - Xem lại Lần cuối: 08/27/2011 17:48:00 - Bản sửa đổi: 2.0

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

  • kbcollections kbhowtomaster kbio kbmt KB306777 KbMtvi
Phản hồi