File.Open Metodo

Definizione

Apre FileStream nel percorso specificato.Opens a FileStream on the specified path.

Overload

Open(String, FileMode)

Apre un oggetto FileStream nel percorso specificato con accesso in lettura/scrittura e senza condivisione.Opens a FileStream on the specified path with read/write access with no sharing.

Open(String, FileMode, FileAccess)

Apre un oggetto FileStream nel percorso specificato, con la modalità e l'accesso indicati e senza condivisione.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

Open(String, FileMode, FileAccess, FileShare)

Apre un oggetto FileStream nel percorso specificato, con la modalità indicata con accesso in lettura, scrittura o lettura/scrittura e l'opzione di condivisione indicata.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

Open(String, FileMode)

Apre un oggetto FileStream nel percorso specificato con accesso in lettura/scrittura e senza condivisione.Opens a FileStream on the specified path with read/write access with no sharing.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode);
static member Open : string * System.IO.FileMode -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode) As FileStream

Parametri

path
String

File da aprire.The file to open.

mode
FileMode

Valore FileMode che specifica se verrà creato un file qualora non ne esista già uno e determina se mantenere o sovrascrivere il contenuto dei file esistenti.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

Restituisce

Oggetto FileStream aperto nella modalità e nel percorso specificati, con accesso in lettura/scrittura e non condiviso.A FileStream opened in the specified mode and path, with read/write access and not shared.

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

path è null.path is null.

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.The specified path, file name, or both exceed the system-defined maximum length.

Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.The specified path is invalid, (for example, it is on an unmapped drive).

Si è verificato un errore di I/O durante l'apertura del file.An I/O error occurred while opening the file.

path specifica un file di sola lettura.path specified a file that is read-only.

-oppure--or- L'operazione non è supportata sulla piattaforma corrente.This operation is not supported on the current platform.

-oppure--or- path ha specificato una directory.path specified a directory.

-oppure--or- Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

-oppure--or- mode è Create e il file specificato è un file nascosto.mode is Create and the specified file is a hidden file.

mode ha specificato un valore non valido.mode specified an invalid value.

Il file specificato in path non è stato trovato.The file specified in path was not found.

Il formato di path non è valido.path is in an invalid format.

Esempi

Nell'esempio di codice seguente viene creato un file temporaneo a cui viene scritto un testo.The following code example creates a temporary file and writes some text to it. Viene quindi aperto il file usando T:System.IO.FileMode.Open; ovvero, se il file non esiste già, non verrà creato.The example then opens the file, using T:System.IO.FileMode.Open; that is, if the file did not already exist, it would not be created.

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

int main()
{
   // Create a temporary file, and put some data into it.
   String^ path = Path::GetTempFileName();
   FileStream^ fs = File::Open( path, FileMode::Open, FileAccess::Write, FileShare::None );
   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.
   fs = File::Open( path, FileMode::Open );
   try
   {
      array<Byte>^b = gcnew array<Byte>(1024);
      UTF8Encoding^ temp = gcnew UTF8Encoding( true );
      while ( fs->Read( b, 0, b->Length ) > 0 )
      {
         Console::WriteLine( temp->GetString( b ) );
      }
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }
}
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));
            }
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
  
    ' Create a temporary file, and put some data into it. 
    Dim path1 As String = Path.GetTempFileName()
    Using fs As FileStream = File.Open(path1, FileMode.Open, FileAccess.Write, FileShare.None)
      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 fs As FileStream = File.Open(path1, FileMode.Open)
      Dim b(1023) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)
      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop
    End Using

  End Sub
End Class

Commenti

Al parametro path è consentito specificare le informazioni sul percorso relativo o assoluto.The path parameter is permitted to specify relative or absolute path information. Le informazioni sul percorso relativo vengono interpretate in relazione alla directory di lavoro corrente.Relative path information is interpreted as relative to the current working directory. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Per un elenco delle attività di I/O comuni, vedere attività di i/o comuni.For a list of common I/O tasks, see Common I/O Tasks.

Sicurezza

FileIOPermission
per la lettura e la scrittura nel file specificato.for reading from and writing to the specified file. Enumerazioni associate: Read, WriteAssociated enumerations: Read, Write

Vedi anche

Open(String, FileMode, FileAccess)

Apre un oggetto FileStream nel percorso specificato, con la modalità e l'accesso indicati e senza condivisione.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);
static member Open : string * System.IO.FileMode * System.IO.FileAccess -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess) As FileStream

Parametri

path
String

File da aprire.The file to open.

mode
FileMode

Valore FileMode che specifica se verrà creato un file qualora non ne esista già uno e determina se mantenere o sovrascrivere il contenuto dei file esistenti.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

access
FileAccess

Valore FileAccess che specifica le operazioni eseguibili sul file.A FileAccess value that specifies the operations that can be performed on the file.

Restituisce

Oggetto FileStream non condiviso che consente di accedere al file specificato, con la modalità e l'accesso indicati.An unshared FileStream that provides access to the specified file, with the specified mode and access.

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

-oppure--or- access ha specificato Read e mode ha specificato Create, CreateNew, Truncateo Append.access specified Read and mode specified Create, CreateNew, Truncate, or Append.

path è null.path is null.

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.The specified path, file name, or both exceed the system-defined maximum length.

Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.The specified path is invalid, (for example, it is on an unmapped drive).

Si è verificato un errore di I/O durante l'apertura del file.An I/O error occurred while opening the file.

path specifica un file di sola lettura e access non è Read.path specified a file that is read-only and access is not Read.

-oppure--or- path ha specificato una directory.path specified a directory.

-oppure--or- Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

-oppure--or- mode è Create e il file specificato è un file nascosto.mode is Create and the specified file is a hidden file.

mode o access ha specificato un valore non valido.mode or access specified an invalid value.

Il file specificato in path non è stato trovato.The file specified in path was not found.

Il formato di path non è valido.path is in an invalid format.

Esempi

Nell'esempio seguente viene aperto un file con accesso in sola lettura.The following example opens a file with read-only access.


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

int 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.
    FileStream^ fs = File::Create( filePath );
    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.
    fs = File::Open( filePath, FileMode::Open, FileAccess::Read );
    try
    {
        array<Byte>^ b = gcnew array<Byte>(1024);
        UTF8Encoding^ temp = gcnew 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() );
        }
    }
    finally
    {
        if ( fs )
            delete (IDisposable^)fs;
    }
}
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());
            }
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    ' This sample assumes that you have a folder named "c:\temp" on your computer. 
    Dim filePath As String = "c:\temp\MyTest.txt"

    ' Delete the file if it exists. 
    If File.Exists(filePath) Then
      File.Delete(filePath)
    End If

    ' Create the file.
    Using fs As FileStream = File.Create(filePath)
      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 fs As FileStream = File.Open(filePath, FileMode.Open, FileAccess.Read)
      Dim b(1023) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)

      ' Display the information on the console. 
      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop

      Try
        ' Try to write to the file
        fs.Write(b, 0, b.Length)
      Catch e As Exception
        Console.WriteLine("Writing was disallowed, as expected: " & e.ToString())
      End Try

    End Using

  End Sub
End Class

Commenti

Al parametro path è consentito specificare le informazioni sul percorso relativo o assoluto.The path parameter is permitted to specify relative or absolute path information. Le informazioni sul percorso relativo vengono interpretate in relazione alla directory di lavoro corrente.Relative path information is interpreted as relative to the current working directory. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Sicurezza

FileIOPermission
per la lettura e la scrittura nel file specificato.for reading from and writing to the specified file. Enumerazioni associate: Read, WriteAssociated enumerations: Read, Write

Vedi anche

Open(String, FileMode, FileAccess, FileShare)

Apre un oggetto FileStream nel percorso specificato, con la modalità indicata con accesso in lettura, scrittura o lettura/scrittura e l'opzione di condivisione indicata.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access, System::IO::FileShare share);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);
static member Open : string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess, share As FileShare) As FileStream

Parametri

path
String

File da aprire.The file to open.

mode
FileMode

Valore FileMode che specifica se verrà creato un file qualora non ne esista già uno e determina se mantenere o sovrascrivere il contenuto dei file esistenti.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

access
FileAccess

Valore FileAccess che specifica le operazioni eseguibili sul file.A FileAccess value that specifies the operations that can be performed on the file.

share
FileShare

Valore FileShare che specifica il tipo di accesso al file di cui dispongono altri thread.A FileShare value specifying the type of access other threads have to the file.

Restituisce

Oggetto FileStream nel percorso specificato, con la modalità indicata con accesso in lettura, scrittura o lettura/scrittura e l'opzione di condivisione indicata.A FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

Eccezioni

path è una stringa di lunghezza zero, contiene solo spazi vuoti o contiene uno o più caratteri non validi definiti da InvalidPathChars.path is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

-oppure--or- access ha specificato Read e mode ha specificato Create, CreateNew, Truncateo Append.access specified Read and mode specified Create, CreateNew, Truncate, or Append.

path è null.path is null.

Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.The specified path, file name, or both exceed the system-defined maximum length.

Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.The specified path is invalid, (for example, it is on an unmapped drive).

Si è verificato un errore di I/O durante l'apertura del file.An I/O error occurred while opening the file.

path specifica un file di sola lettura e access non è Read.path specified a file that is read-only and access is not Read.

-oppure--or- path ha specificato una directory.path specified a directory.

-oppure--or- Il chiamante non dispone dell'autorizzazione richiesta.The caller does not have the required permission.

-oppure--or- mode è Create e il file specificato è un file nascosto.mode is Create and the specified file is a hidden file.

mode, access o share ha specificato un valore non valido.mode, access, or share specified an invalid value.

Il file specificato in path non è stato trovato.The file specified in path was not found.

Il formato di path non è valido.path is in an invalid format.

Esempi

Nell'esempio seguente viene aperto un file con accesso in sola lettura e la condivisione di file non è consentita.The following example opens a file with read-only access and with file sharing disallowed.

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

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file if it does not exist.
   if (  !File::Exists( path ) )
   {
      // Create the file.
      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.
   FileStream^ fs = File::Open( path, FileMode::Open, FileAccess::Read, FileShare::None );
   try
   {
      array<Byte>^b = gcnew array<Byte>(1024);
      UTF8Encoding^ temp = gcnew 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.
         FileStream^ fs2 = File::Open( path, FileMode::Open );
         try
         {
            // Do some task here.
         }
         finally
         {
            if ( fs2 )
                        delete (IDisposable^)fs2;
         }
      }
      catch ( Exception^ e ) 
      {
         Console::Write( "Opening the file twice is disallowed." );
         Console::WriteLine( ", as expected: {0}", e );
      }
   }
   finally
   {
      if ( fs )
            delete (IDisposable^)fs;
   }
}
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());
            }
        }
    }
}
Imports System.IO
Imports System.Text

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

    ' Create the file if it does not exist. 
    If Not File.Exists(path) Then
      ' Create the file.
      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
    End If

    ' Open the stream and read it back.
    Using fs As FileStream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
      Dim b(1023) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)

      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop

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

    End Using

  End Sub
End Class

Commenti

Al parametro path è consentito specificare le informazioni sul percorso relativo o assoluto.The path parameter is permitted to specify relative or absolute path information. Le informazioni sul percorso relativo vengono interpretate in relazione alla directory di lavoro corrente.Relative path information is interpreted as relative to the current working directory. Per ottenere la directory di lavoro corrente, vedere GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Per un elenco delle attività di I/O comuni, vedere attività di i/o comuni.For a list of common I/O tasks, see Common I/O Tasks.

Sicurezza

FileIOPermission
per la lettura e la scrittura nel file specificato.for reading from and writing to the specified file. Enumerazioni associate: Read, WriteAssociated enumerations: Read, Write

Vedi anche

Si applica a