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


File.Create Метод

Определение

Создает или усекает и перезаписывает файл по указанному пути.

Перегрузки

Create(String)

Создает или усекает и перезаписывает файл по указанному пути.

Create(String, Int32)

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

Create(String, Int32, FileOptions)

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

Create(String, Int32, FileOptions, FileSecurity)

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

Create(String)

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

Создает или усекает и перезаписывает файл по указанному пути.

public:
 static System::IO::FileStream ^ Create(System::String ^ path);
public static System.IO.FileStream Create (string path);
static member Create : string -> System.IO.FileStream
Public Shared Function Create (path As String) As FileStream

Параметры

path
String

Путь и имя создаваемого файла.

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

FileStream, обеспечивающий доступ для чтения и записи к файлу, указанному в path.

Исключения

У вызывающего объекта отсутствует необходимое разрешение.

-или-

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

-или-

path указывает файл, который скрыт.

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

path имеет значение null.

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

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

Ошибка ввода-вывода при создании файла.

Параметр path задан в недопустимом формате.

Примеры

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

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file, or overwrite if the file exists.
   FileStream^ fs = File::Create( path );
   try
   {
      array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
      
      // Add some information to the file.
      fs->Write( info, 0, info->Length );
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }

   // Open the stream and read it back.
   StreamReader^ sr = File::OpenText( path );
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
            delete (IDisposable^)sr;
   }
}
using System;
using System.IO;
using System.Text;

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

        try
        {
            // Create the file, or overwrite if the file exists.
            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 (StreamReader sr = File.OpenText(path))
            {
                string s = "";
                while ((s = sr.ReadLine()) != null)
                {
                    Console.WriteLine(s);
                }
            }
        }

        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }
}
open System.IO
open System.Text

let path = @"c:\temp\MyTest.txt"

// Create the file, or overwrite if the file exists.
do
    use fs = File.Create path

    let info =
        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.
do
    use sr = File.OpenText path
    let mutable s = sr.ReadLine()

    while isNull s |> not do
        printfn $"{s}"
        s <- sr.ReadLine()
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    Dim path As String = "c:\temp\MyTest.txt"

    Try
      ' Create the file, or overwrite if the file exists.
      Using fs As FileStream = File.Create(path)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

        ' Add some information to the file.
        fs.Write(info, 0, info.Length)
      End Using

      ' Open the stream and read it back. 
      Using sr As StreamReader = File.OpenText(path)
        Do While sr.Peek() >= 0
          Console.WriteLine(sr.ReadLine())
        Loop
      End Using

    Catch ex As Exception
      Console.WriteLine(ex.ToString())
    End Try

  End Sub
End Class

Комментарии

ОбъектFileStream, созданный этим методом, имеет значение Noneпо умолчанию FileShare ; никакие другие процессы или код не могут получить доступ к созданному файлу, пока исходный дескриптор файла не будет закрыт.

Этот метод эквивалентен перегрузке Create(String, Int32) метода с размером буфера по умолчанию 4096 байт.

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

Если указанный файл не существует, он создается; Если он существует и не доступен только для чтения, содержимое удаляется и перезаписывается.

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

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

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

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

Create(String, Int32)

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

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

public:
 static System::IO::FileStream ^ Create(System::String ^ path, int bufferSize);
public static System.IO.FileStream Create (string path, int bufferSize);
static member Create : string * int -> System.IO.FileStream
Public Shared Function Create (path As String, bufferSize As Integer) As FileStream

Параметры

path
String

Путь и имя создаваемого файла.

bufferSize
Int32

Число байтов, буферизируемых при чтении и записи в данный файл.

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

FileStream с заданным размером буфера, который обеспечивает доступ для чтения и записи к файлу, указанному в path.

Исключения

У вызывающего объекта отсутствует необходимое разрешение.

-или-

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

-или-

path указывает файл, который скрыт.

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

path имеет значение null.

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

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

Ошибка ввода-вывода при создании файла.

Параметр path задан в недопустимом формате.

Примеры

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

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file, or overwrite if the file exists.
   FileStream^ fs = File::Create( path, 1024 );
   try
   {
      array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
      
      // Add some information to the file.
      fs->Write( info, 0, info->Length );
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }

   // Open the stream and read it back.
   StreamReader^ sr = File::OpenText( path );
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
            delete (IDisposable^)sr;
   }
}
using System;
using System.IO;
using System.Text;

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

        // Create the file, or overwrite if the file exists.
        using (FileStream fs = File.Create(path, 1024))
        {
            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 (StreamReader sr = File.OpenText(path))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
open System.IO
open System.Text

let path = @"c:\temp\MyTest.txt"

// Create the file, or overwrite if the file exists.
do
    use fs = File.Create(path, 1024)

    let info =
        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.
do
    use sr = File.OpenText path
    let mutable s = sr.ReadLine()

    while isNull s |> not do
        printfn $"{s}"
        s <- sr.ReadLine()
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    Dim path As String = "c:\temp\MyTest.txt"

    Try
      ' Create the file, or overwrite if the file exists.
      Using fs As FileStream = File.Create(path, 1024)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

        ' Add some information to the file.
        fs.Write(info, 0, info.Length)
      End Using

      ' Open the stream and read it back. 
      Using sr As StreamReader = File.OpenText(path)
        Do While sr.Peek() >= 0
          Console.WriteLine(sr.ReadLine())
        Loop
      End Using

    Catch ex As Exception
      Console.WriteLine(ex.ToString())
    End Try

  End Sub
End Class

Комментарии

ОбъектFileStream, созданный этим методом, имеет значение Noneпо умолчанию FileShare ; никакие другие процессы или код не могут получить доступ к созданному файлу, пока исходный дескриптор файла не будет закрыт.

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

Этот метод эквивалентен перегрузке конструктора FileStream(String, FileMode, FileAccess, FileShare, Int32) . Если указанный файл не существует, он создается; Если он существует и не доступен только для чтения, содержимое заменяется.

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

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

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

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

Create(String, Int32, FileOptions)

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

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

public:
 static System::IO::FileStream ^ Create(System::String ^ path, int bufferSize, System::IO::FileOptions options);
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options);
static member Create : string * int * System.IO.FileOptions -> System.IO.FileStream
Public Shared Function Create (path As String, bufferSize As Integer, options As FileOptions) As FileStream

Параметры

path
String

Путь и имя создаваемого файла.

bufferSize
Int32

Число байтов, буферизируемых при чтении и записи в данный файл.

options
FileOptions

Одно из значений FileOptions, которое описывает, как создавать или перезаписывать файл.

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

Новый файл с заданным размером буфера.

Исключения

У вызывающего объекта отсутствует необходимое разрешение.

-или-

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

-или-

path указывает файл, который скрыт.

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

path имеет значение null.

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

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

Ошибка ввода-вывода при создании файла.

Параметр path задан в недопустимом формате.

Комментарии

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

Этот метод эквивалентен перегрузке конструктора FileStream(String, FileMode, FileAccess, FileShare, Int32) . Если указанный файл не существует, он создается; Если он существует и не доступен только для чтения, содержимое заменяется.

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

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

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

Create(String, Int32, FileOptions, FileSecurity)

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

public:
 static System::IO::FileStream ^ Create(System::String ^ path, int bufferSize, System::IO::FileOptions options, System::Security::AccessControl::FileSecurity ^ fileSecurity);
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
static member Create : string * int * System.IO.FileOptions * System.Security.AccessControl.FileSecurity -> System.IO.FileStream
Public Shared Function Create (path As String, bufferSize As Integer, options As FileOptions, fileSecurity As FileSecurity) As FileStream

Параметры

path
String

Путь и имя создаваемого файла.

bufferSize
Int32

Число байтов, буферизируемых при чтении и записи в данный файл.

options
FileOptions

Одно из значений FileOptions, которое описывает, как создавать или перезаписывать файл.

fileSecurity
FileSecurity

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

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

Новый файл с заданным размером буфера, параметрами файла и уровнем безопасности.

Исключения

У вызывающего объекта отсутствует необходимое разрешение.

-или-

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

-или-

path указывает файл, который скрыт.

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

path имеет значение null.

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

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

Ошибка ввода-вывода при создании файла.

Параметр path задан в недопустимом формате.

Комментарии

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

Этот метод эквивалентен перегрузке конструктора FileStream(String, FileMode, FileAccess, FileShare, Int32) . Если указанный файл не существует, он создается; Если он существует и не доступен только для чтения, содержимое будет заменено.

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

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

Важно!

Этот метод был перенесен в .NET Core 3.1 в следующем виде: Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity).

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