Если вы сами формируете строку из последовательности символов (для Write), то не забудьте ее оформить как строку:
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

     
 
Environment.NewLine


рис. 9

 


Пример чтения/записи. (Без обработки исключений.)

/* Простая утилита "клавиатура-диск"

демонстрирует использование класса StreamWriter. */

using System;

using System.IO;

Class KtoD

{

public static void Main()

{

   string str;

  FileStream fout;

   fout = new FileStream ( "test.txt", FileMode.Create );

   StreamWriter sout = new StreamWriter ( fout );

   Console.WriteLine ("Введите текст ('стоп' для завершения).");

   while (true);

   {

       str = Console.ReadLine();

       if (str = "стоп") break;

       {

           str = str + "\r\n";      // Добавляем символы новой строки.

        sout.Write(str);

       }

   }

   sout.Close();

}

}

Исключения:

ArgumentException поток stream не открыт для ввода/вывода
ArgumentNullException поток stream имеет null-значение
FileNotFoundException Не удается найти файл (для path).
DirectoryNotFoundException Указанный путь (path ) недопустим; возможно, он отсылает к неотображенному диску.
IOException Параметр path включает неправильный или недопустимый синтаксис имени файла, имени папки или метки тома.

Пример. (С обработкой исключений.)

/* Простая утилита "клавиатура-диск", которая

демонстрирует использование класса StreamWriter. */

using System;

using System.IO;

Class KtoD

{

public static void Main()

{

   string str;

   FileStream fout;

     try

   {

       fout = new FileStream("test.txt", FileMode.Create);

   }

   catch (IOException exc)

   {

       Console.WriteLine(exc.Message + " He удается открыть файл.");

       return;

   }

   StreamWriter fstr_out = new StreamWriter(fout);

   Console.WriteLine("Введите текст ('стоп' для завершения).");

   do

   {

       Console.Write(": ");

       str = Console.ReadLine();

       if (str != "стоп")

       {

           str = str + "\r\n";      // Добавляем символ новой строки.

           try

           {

               fstr_out.Write(str);

           }

           catch (IOException exc)

           {

               Console.WriteLine(exc.Message + " Ошибка при работе с файлом.");

               return;

           }

       }

   } while (str != "стоп");

   fstr_out.Close();

}

}

Следующая программа создает простую утилиту "диск - клавиатура", которая счи­тывает текстовый файл test.txt и отображает его содержимое на экране. Таким об­разом, эта программа представляет собой дополнение к утилите, представленной ранее.

Пример. (Без обработки исключений.)

// Простая утилита "диск - клавиатура" демонстрирует

//      использование класса StreamReader.

Using System;

using System.IO;

Class DtoK

{

public static void Main()

{

   string s;

   FileStream fin = new FileStream ("test.txt", FileMode.Open);

   StreamReader sin = new StreamReader(fin);

   // Считываем файл построчно.

   while ((s = sin.ReadLine()) != null)

   {

       Console.WriteLine(s);

   }

   sin.Close();

}

}

Пример. (С обработкой исключений.)

Using System;

using System.IO;

Class DtoS

{

public static void Main()

{

   string s;

   FileStream fin;

   try

   {

       fin = new FileStream ("test.txt", FileMode.Open);

   }

   catch (FileNotFoundException exc)

   {

       Console.WriteLine(exc.Message + "He удается открыть файл.");

       return;

   }

   StreamReader fstr_in = new StreamReader(fin);

   // Считываем файл построчно.

   while ((s = fstr_in.ReadLine()) != null)

   {

       Console.WriteLine(s);

   }

    fstr_in.Close();

}

}

Пример открытия выходного файла классом StreamWriter. (Без обработки исключений.) Новая версия предыдущей утилиты "клавиатура-диск".

// Открытие файла с использованием класса StreamWriter.

using System;

using System.IO;

Class KtoD

{

public static void Main()

{

   string str;

   // Открываем файл напрямую, используя класс StreamWriter.

   StreamWriter sout = new StreamWriter ( "test.txt" );

   Console.WriteLine ("Введите текст ('стоп' для завершения).");

   do

   {

       Console.Write (": ");

       str = Console.ReadLine();

       if (str != "стоп")

       {

           str = str + "\r\n";   // Добавляем символ новой строки

           sout.Write(str);

       }

   } while (str != "стоп");

   sout.Close();

}

}

Если файл не существует, то он создается. У конструктора класса FileStreem возможностей больше.

Кодировка текстовых потоков

Дата: 2019-02-02, просмотров: 269.