FileInfo f6 = new FileInfo(fileName);
using(StreamWriter swriter = f6.CreateText())
{
// Использовать объект StreamWriter...
}
f6.Delete();
FileInfo f7 = new FileInfo(fileName);
using(StreamWriter swriterAppend = f7.AppendText())
{
// Использовать объект StreamWriter...
}
f7.Delete();
Как и можно было ожидать, тип StreamWriter
Работа с типом File
В типе File
FileInfo. Подобно FileInfо тип File поддерживает методы AppendText(), Create(), CreateText(), Open(), OpenRead(), OpenWrite() и OpenText(). Во многих случаях типы File и FileInfo могут применяться взаимозаменяемо. Обратите внимание, что методы OpenText() и OpenRead() требуют существования файла. Чтобы взглянуть на тип File в действии, упростите приведенные ранее примеры использования типа FileStream, применив в каждом из них тип File:var fileName = $@"C{Path.VolumeSeparatorChar}
{Path.DirectorySeparatorChar}Test.dat";
...
// Использование File вместо FileInfo.
using (FileStream fs8 = File.Create(fileName))
{
// Использовать объект FileStream...
}
File.Delete(fileName);
// Создать новый файл через File.Open().
using(FileStream fs9 = File.Open(fileName,
FileMode.OpenOrCreate, FileAccess.ReadWrite,
FileShare.None))
{
// Использовать объект FileStream...
}
// Получить объект FileStream с правами только для чтения.
using(FileStream readOnlyStream = File.OpenRead(fileName))
{}
File.Delete(fileName);
// Получить объект FileStream с правами только для записи.
using(FileStream writeOnlyStream = File.OpenWrite(fileName))
{}
// Получить объект StreamReader.
using(StreamReader sreader = File.OpenText(fileName))
{}
File.Delete(fileName);
// Получить несколько объектов StreamWriter.
using(StreamWriter swriter = File.CreateText(fileName))
{}
File.Delete(fileName);
using(StreamWriter swriterAppend =
File.AppendText(fileName))
{}
File.Delete(fileName);
Дополнительные члены типа File
Тип File
Приведенные в табл. 20.6 методы типа File
SimpleFileIO) сохраняет строковые данные в новом файле на диске С: (и читает их в память) с минимальными усилиями (здесь предполагается, что было импортировано пространство имен System.IO):Console.WriteLine("***** Simple I/O with the File Type *****\n");
string[] myTasks = {
"Fix bathroom sink", "Call Dave",
"Call Mom and Dad", "Play Xbox One"};
// Записать все данные в файл на диске С:.
File.WriteAllLines(@"tasks.txt", myTasks);
// Прочитать все данные и вывести на консоль.
foreach (string task in File.ReadAllLines(@"tasks.txt"))
{
Console.WriteLine("TODO: {0}", task);
}
Console.ReadLine();
File.Delete("tasks.txt");