FileMode
FileMode из System.IO передают в
File.Open
и в конструктор FileStream.
Режимы Open,
Create
и Append
отличаются тем, обнуляется ли файл и что
делать, если его ещё нет.
Синтаксис
using FileStream stream = File.Open(path, FileMode.Open);
using FileStream stream = new FileStream(path, FileMode.Create);
Пример
Давайте откроем abcde.txt через
FileMode.Open:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
using (FileStream stream = File.Open("abcde.txt", FileMode.Open))
{
Console.WriteLine(stream.Length);
}
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
5
Пример
Давайте создадим поток через конструктор
FileStream:
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream stream = new FileStream(
"abcde.txt", FileMode.Create))
{
Console.WriteLine(stream.CanWrite);
}
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
True
Пример
Давайте допишем в конец через
FileMode.Append:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "abcde");
using (FileStream stream = new FileStream(
"abcde.txt", FileMode.Append, FileAccess.Write))
{
byte[] data = Encoding.UTF8.GetBytes("12345");
stream.Write(data, 0, data.Length);
}
string res = File.ReadAllText("abcde.txt");
Console.WriteLine(res);
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
"abcde12345"
Смотрите также
-
OpenOrCreate,
открыть или создать без обнуления -
FileAccess,
чтение и запись вместе с режимом -
File.Open,
открытие сFileMode -
FileNotFoundException,
если файла нет приOpen