Прочитать на английском

Поделиться через


File.Open Метод

Определение

Открывает FileStream по указанному пути.

Перегрузки

Open(String, FileMode, FileAccess, FileShare)

Открывает FileStream по указанному пути, имея указанный режим с доступом на чтение, запись или чтение или запись и указанный параметр общего доступа.

Open(String, FileMode)

Открывает FileStream по указанному пути с доступом на чтение и запись без общего доступа.

Open(String, FileStreamOptions)

Инициализирует новый экземпляр класса FileStream с указанным путем, режимом создания, разрешением на чтение и запись и общий доступ, доступ к другим файлам может иметь тот же файл, размер буфера, дополнительные параметры файла и размер выделения.

Open(String, FileMode, FileAccess)

Открывает FileStream по указанному пути с указанным режимом и доступом без общего доступа.

Open(String, FileMode, FileAccess, FileShare)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Открывает FileStream по указанному пути, имея указанный режим с доступом на чтение, запись или чтение или запись и указанный параметр общего доступа.

public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);

Параметры

path
String

Файл, который нужно открыть.

mode
FileMode

Значение FileMode, указывающее, создается ли файл, если он не существует, и определяет, сохраняется ли содержимое существующих файлов или перезаписывается.

access
FileAccess

Значение FileAccess, указывающее операции, которые можно выполнить в файле.

share
FileShare

Значение FileShare, указывающее тип доступа к другим потокам файла.

Возвращаемое значение

FileStream по указанному пути, имея указанный режим с доступом на чтение, запись или чтение и запись и указанный параметр общего доступа.

Исключения

Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

-или-

access указанные Read и mode указанные Create, CreateNew, Truncateили Append.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Указанный путь недопустим (например, он находится на несопоставленном диске).

При открытии файла произошла ошибка ввода-вывода.

path указан файл, доступный только для чтения, и access не Read.

-или-

path указан каталог.

-или-

Вызывающий объект не имеет требуемого разрешения.

-или-

mode Create, и указанный файл является скрытым файлом.

mode, accessили share указал недопустимое значение.

Файл, указанный в path, не найден.

path имеет недопустимый формат.

Примеры

В следующем примере открывается файл с доступом только для чтения и с запретом общего доступа к файлам.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Create the file if it does not exist.
        if (!File.Exists(path))
        {
            // Create the file.
            using (FileStream fs = File.Create(path))
            {
                Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");

                // Add some information to the file.
                fs.Write(info, 0, info.Length);
            }
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }

            try
            {
                // Try to get another handle to the same file.
                using (FileStream fs2 = File.Open(path, FileMode.Open))
                {
                    // Do some task here.
                }
            }
            catch (Exception e)
            {
                Console.Write("Opening the file twice is disallowed.");
                Console.WriteLine(", as expected: {0}", e.ToString());
            }
        }
    }
}

Комментарии

Параметр path может указывать относительные или абсолютные сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Чтобы получить текущий рабочий каталог, см. GetCurrentDirectory.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Open(String, FileMode)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Открывает FileStream по указанному пути с доступом на чтение и запись без общего доступа.

public static System.IO.FileStream Open (string path, System.IO.FileMode mode);

Параметры

path
String

Файл, который нужно открыть.

mode
FileMode

Значение FileMode, указывающее, создается ли файл, если он не существует, и определяет, сохраняется ли содержимое существующих файлов или перезаписывается.

Возвращаемое значение

FileStream открыт в указанном режиме и пути с доступом на чтение и запись, а не общий доступ.

Исключения

Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Указанный путь недопустим (например, он находится на несопоставленном диске).

При открытии файла произошла ошибка ввода-вывода.

path указали файл, доступный только для чтения.

-или-

Эта операция не поддерживается на текущей платформе.

-или-

path указан каталог.

-или-

Вызывающий объект не имеет требуемого разрешения.

-или-

mode Create, и указанный файл является скрытым файлом.

mode указал недопустимое значение.

Файл, указанный в path, не найден.

path имеет недопустимый формат.

Примеры

В следующем примере кода создается временный файл и записывается в него некоторый текст. Затем откроется файл с помощью T:System.IO.FileMode.Open; То есть, если файл еще не существует, он не будет создан.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        // Create a temporary file, and put some data into it.
        string path = Path.GetTempFileName();
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None))
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(path, FileMode.Open))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}

Комментарии

Параметр path может указывать относительные или абсолютные сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Чтобы получить текущий рабочий каталог, см. GetCurrentDirectory.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Open(String, FileStreamOptions)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Инициализирует новый экземпляр класса FileStream с указанным путем, режимом создания, разрешением на чтение и запись и общий доступ, доступ к другим файлам может иметь тот же файл, размер буфера, дополнительные параметры файла и размер выделения.

public static System.IO.FileStream Open (string path, System.IO.FileStreamOptions options);

Параметры

path
String

Путь к открытому файлу.

options
FileStreamOptions

Объект, описывающий необязательные параметры FileStream для использования.

Возвращаемое значение

Экземпляр FileStream, который упаковывает открытый файл.

Комментарии

FileStream(String, FileStreamOptions) сведения об исключениях.

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET 6, 7, 8, 9

Open(String, FileMode, FileAccess)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Открывает FileStream по указанному пути с указанным режимом и доступом без общего доступа.

public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);

Параметры

path
String

Файл, который нужно открыть.

mode
FileMode

Значение FileMode, указывающее, создается ли файл, если он не существует, и определяет, сохраняется ли содержимое существующих файлов или перезаписывается.

access
FileAccess

Значение FileAccess, указывающее операции, которые можно выполнить в файле.

Возвращаемое значение

Незапланированный FileStream, предоставляющий доступ к указанному файлу с указанным режимом и доступом.

Исключения

Версии .NET Framework и .NET Core старше 2.1: path представляет собой строку нулевой длины, содержит только пробелы или содержит один или несколько недопустимых символов. Вы можете запросить недопустимые символы с помощью метода GetInvalidPathChars().

-или-

access указанные Read и mode указанные Create, CreateNew, Truncateили Append.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

Указанный путь недопустим (например, он находится на несопоставленном диске).

При открытии файла произошла ошибка ввода-вывода.

path указан файл, доступный только для чтения, и access не Read.

-или-

path указан каталог.

-или-

Вызывающий объект не имеет требуемого разрешения.

-или-

mode Create, и указанный файл является скрытым файлом.

mode или access указал недопустимое значение.

Файл, указанный в path, не найден.

path имеет недопустимый формат.

Примеры

В следующем примере открывается файл с доступом только для чтения.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        // This sample assumes that you have a folder named "c:\temp" on your computer.
        string filePath = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(filePath))
        {
            File.Delete(filePath);
        }

        // Create the file.
        using (FileStream fs = File.Create(filePath))
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }

            try
            {
                // Try to write to the file.
                fs.Write(b,0,b.Length);
            }
            catch (Exception e)
            {
                Console.WriteLine("Writing was disallowed, as expected: {0}", e.ToString());
            }
        }
    }
}

Комментарии

Параметр path может указывать относительные или абсолютные сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Чтобы получить текущий рабочий каталог, см. GetCurrentDirectory.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0