ВУЗ:
Составители:
Рубрика:
55
//создаем объект, с помощью которого можно записывать в
поток
StreamWriter writer = new StreamWriter(fout);
while (true) {
//если входной поток кончился
if (reader.Peek() < 0) {
break;
}
string tempStr = reader.ReadLine();
StringWorker worker = new StringWorker();
worker.str = tempStr;
worker.processString();
writer.WriteLine(worker.str);
}
//происходит закрытие потока, который в reader, т. е.
входного потока
reader.Close();
//происходит закрытие потока, который в writer, т. е.
выходного потока
writer.Close();
}
}
6. Однако при обработке возможных ошибок возникают небольшие
проблемы – если возникла ошибка при открытии входного файла, то
ничего не надо закрывать. А если возникла ошибка при открытии
выходного файла, то надо закрыть входной файл, потому что он к
этому моменту уже открыт. Поэтому лучше использовать
конструкцию using. Так же следует отметить,
что есть функции
File.OpenText и File.CreateText, которые сразу возвращают
StreamReader и StreamWriter. Поэтому первый шаг в улучшении кода
будет
public void processFile(string inFileName, string
outFileName) {
//открываем входной файл на чтение
StreamReader reader = File.OpenText(inFileName);
//открываем выходной файл на запись
StreamWriter writer = File.CreateText(outFileName);
while (true) {
if (reader.Peek() < 0) {
break;
}
string tempStr = reader.ReadLine();
StringWorker worker = new StringWorker();
worker.str = tempStr;
worker.processString();
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »