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.