Ответ 1
FileStream
дает вам немного больше контроля над написанием файлов, что может быть полезно в некоторых случаях. Он также позволяет держать дескриптор файла открытым и непрерывно записывать данные без отказа от контроля. Некоторые варианты использования потока:
- Несколько входов
- Данные в реальном времени из потока памяти/сети.
System.IO.File
содержит обертки вокруг операций с файлами для основных действий, таких как сохранение файла, чтение файла в строки и т.д. Это просто абстракция над FileStream
.
Из исходного кода .NET вот что WriteAllText
делает внутренне:
private static void InternalWriteAllText(string path,
string contents, Encoding encoding)
{
Contract.Requires(path != null);
Contract.Requires(encoding != null);
Contract.Requires(path.Length > 0);
using (StreamWriter sw = new StreamWriter(path, false, encoding))
sw.Write(contents);
}