Exporter (0) Imprimer
Développer tout

FileInfo.Open, méthode (FileMode, FileAccess, FileShare)

Mise à jour : novembre 2007

Ouvre un fichier dans le mode spécifié, avec accès en lecture, en écriture ou en lecture/écriture et l'option de partage spécifiée.

Espace de noms :  System.IO
Assembly :  mscorlib (dans mscorlib.dll)

public FileStream Open(
	FileMode mode,
	FileAccess access,
	FileShare share
)
public FileStream Open(
	FileMode mode,
	FileAccess access,
	FileShare share
)
public function Open(
	mode : FileMode, 
	access : FileAccess, 
	share : FileShare
) : FileStream

Paramètres

mode
Type : System.IO.FileMode
Constante FileMode spécifiant le mode (Open ou Append, par exemple) dans lequel ouvrir le fichier.
access
Type : System.IO.FileAccess
Constante FileAccess spécifiant si le fichier doit être ouvert avec l'accès Read, Write ou ReadWrite.
share
Type : System.IO.FileShare
Constante FileShare spécifiant le type d'accès qu'ont d'autres objets FileStream à ce fichier.

Valeur de retour

Type : System.IO.FileStream
Objet FileStream ouvert avec le mode, l'accès et les options de partage spécifiés.

ExceptionCondition
SecurityException

L'appelant n'a pas l'autorisation requise.

ArgumentException

path est vide ou ne contient que des espaces blancs.

FileNotFoundException

Le fichier est introuvable.

ArgumentNullException

Un ou plusieurs arguments sont null.

UnauthorizedAccessException

path est en lecture seule ou est un répertoire.

DirectoryNotFoundException

Le chemin d'accès spécifié n'est pas valide, il se trouve par exemple sur un lecteur non mappé.

IOException

Le fichier est déjà ouvert.

Pour obtenir la liste des tâches d'E/S courantes, consultez Tâches d'E/S courantes.

L'exemple suivant illustre l'ouverture d'un fichier pour la lecture et l'écriture mais en interdisant l'accès aux autres utilisateurs ou processus.

using System;
using System.IO;

public class OpenTest 
{
    public static void Main() 
    {
        // Open an existing file, or create a new one.
        FileInfo fi = new FileInfo("temp.txt");

        // Open the file just specified such that no one else can use it.
        FileStream fs = fi.Open( FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None );

        // Create another reference to the same file.
        FileInfo nextfi = new FileInfo("temp.txt");        

        try 
        {
            // Try opening the same file, which was locked by the previous process.
            nextfi.Open( FileMode.OpenOrCreate, FileAccess.Read );

            Console.WriteLine("The file was not locked, and was opened by a second process.");
        } 
        catch (IOException) 
        {
            Console.WriteLine("The file could not be opened because it was locked by another process.");
        } 
        catch (Exception e) 
        {
            Console.WriteLine(e.ToString());
        }

        // Close the file so it can be deleted.
        fs.Close();
    }
}

//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//The file could not be opened because it was locked by another process.


import System.*;
import System.IO.*;

public class OpenTest
{
    public static void main(String[] args)
    {
        // Open an existing file, or create a new one.
        FileInfo fi = new FileInfo("temp.txt");

        // Open the file just specified such that no one else can use it.
        FileStream fs = fi.Open(FileMode.OpenOrCreate, FileAccess.ReadWrite,
            FileShare.None);

        // Create another reference to the same file.
        FileInfo nextfi = new FileInfo("temp.txt");
        try {
            // Try opening the same file, which was locked by the
            // previous process.
            nextfi.Open(FileMode.OpenOrCreate, FileAccess.Read);
            Console.WriteLine("The file was not locked, and was opened by a " 
                + " second process.");
        }
        catch (IOException exp) {
            Console.WriteLine("The file could not be opened because it was " 
                + " locked by another process.");
        }
        catch (System.Exception e) {
            Console.WriteLine(e.ToString());
        }

        // Close the file so it can be deleted.
        fs.Close();
    } //main
} //OpenTest
//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//The file could not be opened because it was  locked by another process.


import System;
import System.IO;

public class OpenTest {
    public static function Main() : void {

        // Open an existing file, or create a new one.
        var fi : FileInfo = new FileInfo("temp.txt");

        // Open the file just specified such that no one else can use it.
        var fs : FileStream = fi.Open( FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None );

        // Create another reference to the same file.
        var nextfi : FileInfo = new FileInfo("temp.txt");        

        try {
            // Try opening the same file, which was locked by the previous process.
            nextfi.Open( FileMode.OpenOrCreate, FileAccess.Read );

            Console.WriteLine("The file was not locked, and was opened by a second process.");
        } catch (e : IOException) {
            Console.WriteLine("The file could not be opened because it was locked by another process.");
        } catch (e : Exception) {
            Console.WriteLine(e.ToString());
        }

        // Close the file so it can be deleted.
        fs.Close();
    }
}
OpenTest.Main();

//This code produces output similar to the following; 
//results may vary based on the computer/file structure/etc.:
//
//The file could not be opened because it was locked by another process.


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0, 1.0

XNA Framework

Pris en charge dans : 2.0, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft