Partager via


FileSystem.FileOpen Méthode

Définition

Ouvre un fichier pour entrée ou sortie. La fonctionnalité My améliore la productivité et les performances des opérations d’E/S de fichier par rapport à FileOpen. Pour plus d'informations, consultez FileSystem.

public static void FileOpen (int FileNumber, string FileName, Microsoft.VisualBasic.OpenMode Mode, Microsoft.VisualBasic.OpenAccess Access = Microsoft.VisualBasic.OpenAccess.Default, Microsoft.VisualBasic.OpenShare Share = Microsoft.VisualBasic.OpenShare.Default, int RecordLength = -1);
static member FileOpen : int * string * Microsoft.VisualBasic.OpenMode * Microsoft.VisualBasic.OpenAccess * Microsoft.VisualBasic.OpenShare * int -> unit
Public Sub FileOpen (FileNumber As Integer, FileName As String, Mode As OpenMode, Optional Access As OpenAccess = Microsoft.VisualBasic.OpenAccess.Default, Optional Share As OpenShare = Microsoft.VisualBasic.OpenShare.Default, Optional RecordLength As Integer = -1)

Paramètres

FileNumber
Int32

Obligatoire. N’importe quel numéro de fichier valide. Utilisez la fonction FreeFile pour obtenir le numéro du prochain fichier disponible.

FileName
String

Obligatoire. Une expression de chaîne qui spécifie un nom de fichier. Peut inclure le répertoire ou le dossier, ainsi que le lecteur.

Mode
OpenMode

Obligatoire. Énumération spécifiant le mode de fichier : Append, Binary, Input, Output ou Random. Pour plus d'informations, consultez OpenMode.

Access
OpenAccess

Optionnel. Énumération spécifiant quelles sont les opérations autorisées sur le fichier ouvert : Read, Write ou ReadWrite. La valeur par défaut est ReadWrite. Pour plus d'informations, consultez OpenAccess.

Share
OpenShare

Optionnel. Énumération spécifiant les opérations non autorisées sur le fichier ouvert par d'autres processus : Shared, Lock Read, Lock Write et Lock Read Write. La valeur par défaut est Lock Read Write. Pour plus d'informations, consultez OpenShare.

RecordLength
Int32

Optionnel. Nombre inférieur ou égal à 32 767 (octets). Pour les fichiers ouverts pour accès aléatoire, cette valeur est la longueur de l'enregistrement. Pour les fichiers à accès séquentiel, cette valeur est le nombre de caractères mis en mémoire tampon.

Exceptions

La longueur d'enregistrement est négative (et différente de -1).

FileName est déjà ouvert ou FileName n'est pas valide.

Exemples

Cet exemple illustre différentes utilisations de la fonction pour activer l’entrée FileOpen et la sortie dans un fichier.

Le code suivant ouvre le fichier TestFile en Input mode .

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)

Cet exemple montre comment ouvrir le fichier en Binary mode pour les opérations d’écriture uniquement.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)

L’exemple suivant ouvre le fichier en Random mode . Le fichier contient des enregistrements de la structure Person.

Structure Person
    <VBFixedString(30)> Dim Name As String
    Dim ID As Integer
End Structure
Public Sub ExampleMethod()
    ' Count 30 for the string, plus 4 for the integer.
    FileOpen(1, "TESTFILE", OpenMode.Random, , , 34)
    ' Close before reopening in another mode.
    FileClose(1)
End Sub

Cet exemple de code ouvre le fichier en mode ; n’importe quel processus peut lire ou écrire dans Output un fichier.

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)

Cet exemple de code ouvre le fichier en Binary mode lecture ; d’autres processus ne peuvent pas lire le fichier.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
   OpenShare.LockRead)

Remarques

La FileOpen fonction est fournie pour la compatibilité descendante et peut affecter les performances. Pour les applications non héritées, l’objet My.Computer.FileSystem offre de meilleures performances. Pour plus d’informations, consultez Accès aux fichiers avec Visual Basic.

Vous devez ouvrir un fichier avant qu’une opération d’E/S puisse y être effectuée. FileOpen alloue une mémoire tampon pour les E/S au fichier et détermine le mode d’accès à utiliser avec la mémoire tampon.

Important

Lors de l’écriture dans un fichier, une application peut avoir à créer un fichier si le fichier dans lequel elle tente d’écrire n’existe pas. Pour ce faire, il a besoin d’une autorisation pour le répertoire dans lequel le fichier doit être créé. Toutefois, si le fichier spécifié par FileName existe, l’application a besoin d’une Write autorisation uniquement pour le fichier lui-même. Dans la mesure du possible, pour améliorer la sécurité, créez le fichier pendant le déploiement et accordez Write l’autorisation à ce fichier uniquement, au lieu de l’ensemble du répertoire. Pour améliorer la sécurité, écrivez des données dans des répertoires utilisateur plutôt que dans le répertoire racine ou le répertoire Program Files.

Le canal à ouvrir est accessible à l’aide de la FreeFile() fonction .

Important

La FileOpen fonction nécessite l’accès Read à partir de l’énumération FileIOPermissionAccess , ce qui peut affecter son exécution dans des situations d’approbation partielle. Pour plus d’informations, consultez FileIOPermissionAccess énumération.

S’applique à

Voir aussi