В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету
Войти

Браузер не поддерживается

Чтобы использовать веб-сайт, обновите браузер.

Обновите браузер до последней версии Internet Explorer

Чтение текстового файла с использованием System.IO и C#

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 306777
Для версии Microsoft Visual Basic .NET в данной статье см. 302309.

В данной статье относится к следующие пространства имен библиотеки классов Microsoft платформа.NET Framework:
  • System.IO
  • System.Collections
Аннотация
В данном пошаговом руководстве показано, как извлечь данные из текстового файла (.txt), а затем использовать класс ArrayList для отображения сведений для пользователя.

Требования

Microsoft Visual C#

Чтение текстовых файлов в Visual C#

Открытие и чтение файлов для доступа для чтения является важной частью функций ввода вывода (IO), даже если необходимо записать в файл. В этом примере открывается файл для чтения, который полезен для чтения текстовых файлов, но подходит для двоичных файлов. В этом примере используется один из многих методов, доступных для открытия файла.

Хотя для хранения сведений, которые извлекаются из файла доступны несколько структур данных, класс ArrayList является наиболее простой структурой для использования. Чтобы открыть и прочитать из файла, в этом примере используются объекты из пространства имен System.IO , в частности класс System.IO.StreamReader .

Примечание Этот пример требует некоторого вида текстового файла (.txt) из которого производится чтение.

Чтобы загрузить и прочитать текстовый файл из Visual C#, выполните следующие действия.
  1. Запустите Microsoft Visual Studio.
  2. Создайте новое консольное приложение в Visual C#. Visual Studio создает Статический класс , а также пустой процедуре Main() .
  3. Убедитесь, что проект ссылается по крайней мере пространство имен System . Использование инструкции using для пространства имен System.IOи System.Collectionsсистемытаким образом, не требуется указывать объявления из этих пространств имен в коде. Необходимо использовать эти инструкции перед всеми остальными объявлениями.
    using System;using System.IO;using System.Collections;					
  4. Чтобы открыть файл для чтения, создания нового экземпляра объекта StreamReader и передайте путь к файлу в конструктор следующим образом:
    StreamReader objReader = new StreamReader("c:\\test.txt");					
  5. Необходимо иметь строковую переменную для хранения каждой строки файла в ходе обработки. Поскольку добавление строк будет производиться в ArrayList, необходимо объявить и создать объект этого типа.
    string sLine="";ArrayList arrText = new ArrayList();					
  6. Существует несколько способов чтения файла, включая ReadToEnd метод, который считывает всего файла за один раз. Тем не менее в этом примере с помощью метода ReadLine импортирует файла по одной строке за раз. При достижении конца файла, этот метод возвращает значение null, предоставляет способ завершить цикл. При чтении каждой строки в файле, можно использовать метод Add класса ArrayList для вставки строк в класс ArrayList .
    while (sLine != null){	sLine = objReader.ReadLine();	if (sLine != null)		arrText.Add(sLine);}objReader.Close();					
  7. Используйте цикл For Each для вывода содержимого ArrayList на консоль следующим образом:
    foreach (string sOutput in arrText)	Console.WriteLine(sOutput);Console.ReadLine();					
  8. Сохраните и запустите ваш код, который создает список файла на консоль.

Полный пример кода

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

Устранение неполадок

Есть несколько моментов, которые следует учитывать при работе с файлового ввода-вывода, включая следующие элементы:
  • Любое время получить доступ к файлу, есть вероятность, возможно использование, попытка чтения или записи файла или не может быть в системе.
  • Этот пример считывает файл целиком в память перед обработкой файлов. Могут возникнуть ситуации, в которой файл слишком велик для хранения в памяти, или у вас нет разрешения на доступ к файлу.
Любой из этих ситуаций привести к возникновению исключения. Рекомендуется всегда выполнять блок try... catch для обработки этих общих проблем.
try-catch

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 306777 — последний просмотр: 10/07/2013 06:32:00 — редакция: 6.0

  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# 2008 Express Edition
  • kbcollections kbhowtomaster kbio kbmt KB306777 KbMtru
Отзывы и предложения