FileMode.Open
FileMode.Open не меняет длину файла
и не создаёт новый. Если abcde.txt
нет, будет
FileNotFoundException.
Передают в
File.Open
или конструктор FileStream.
Синтаксис
using FileStream stream = File.Open(path, 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
Пример
Давайте откроем с
FileAccess.Read:
using System;
using System.IO;
class Program
{
static void Main()
{
File.WriteAllText("abcde.txt", "12345");
using (FileStream stream = File.Open(
"abcde.txt", FileMode.Open, FileAccess.Read))
{
Console.WriteLine(stream.CanRead);
}
File.Delete("abcde.txt");
}
}
Результат выполнения кода:
True
Пример
Давайте поймаем отсутствие файла:
using System;
using System.IO;
class Program
{
static void Main()
{
if (File.Exists("abcde.txt"))
{
File.Delete("abcde.txt");
}
try
{
using (FileStream stream = File.Open("abcde.txt", FileMode.Open))
{
}
}
catch (FileNotFoundException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Смотрите также
-
FileMode,
все режимы открытия -
OpenOrCreate,
если файла может не быть -
File.Open,
вызов сOpen -
FileNotFoundException,
при отсутствии пути