Condividi tramite


FileSystem.FileOpen Metodo

Definizione

Apre un file per l'input o l'output. La funzionalità My offre un livello più elevato di produttività e prestazioni nelle operazioni di I/O dei file rispetto a FileOpen. Per altre informazioni, vedere 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)

Parametri

FileNumber
Int32

Obbligatorio. Qualsiasi numero di file valido. Utilizza la funzione FreeFile per ottenere il successivo numero di file disponibile.

FileName
String

Obbligatorio. Espressione stringa che specifica un nome di file. Può includere la directory o la cartella e l'unità.

Mode
OpenMode

Obbligatorio. Enumerazione che specifica la modalità per il file: Append, Binary, Input, Output o Random. Per altre informazioni, vedere OpenMode.

Access
OpenAccess

facoltativo. Enumerazione che specifica le operazioni autorizzate sul file aperto: Read, Write o ReadWrite. Il valore predefinito è ReadWrite. Per altre informazioni, vedere OpenAccess.

Share
OpenShare

facoltativo. Enumerazione che specifica le operazioni non autorizzate sul file aperto da altri processi: Shared, Lock Read, Lock Write e Lock Read Write. Il valore predefinito è Lock Read Write. Per altre informazioni, vedere OpenShare.

RecordLength
Int32

facoltativo. Numero minore o uguale a 32.767 byte. Per i file aperti per l'accesso Random, questo valore rappresenta la lunghezza del record. Per i file sequenziali, questo valore rappresenta il numero di caratteri memorizzati nel buffer.

Eccezioni

Lunghezza del record negativa (e diversa da -1).

Il parametro FileName è già aperto oppure FileName non è valido.

Esempio

In questo esempio vengono illustrati vari usi della funzione per abilitare l'input e l'output FileOpen in un file.

Il codice seguente apre il file TestFile in Input modalità.

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

Questo esempio apre il file in Binary modalità solo per la scrittura delle operazioni.

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

Nell'esempio seguente viene aperto il file in Random modalità. Il file contiene record della struttura 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

Questo esempio di codice apre il file in Output modalità. Qualsiasi processo può leggere o scrivere nel file.

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

Questo esempio di codice apre il file in Binary modalità di lettura. Altri processi non possono leggere il file.

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

Commenti

La FileOpen funzione viene fornita per la compatibilità con le versioni precedenti e può influire sulle prestazioni. Per le applicazioni non legacy, l'oggetto My.Computer.FileSystem offre prestazioni migliori. Per altre informazioni, vedere Accesso ai file con Visual Basic.

È necessario aprire un file prima che sia possibile eseguire un'operazione di I/O. FileOpen alloca un buffer per I/O al file e determina la modalità di accesso da usare con il buffer.

Importante

Quando si scrive in un file, un'applicazione potrebbe dover creare un file, se il file a cui sta tentando di scrivere non esiste. A tale scopo, è necessaria l'autorizzazione per la directory in cui deve essere creato il file. Tuttavia, se il file specificato da FileName esiste, l'applicazione necessita Write dell'autorizzazione solo per il file stesso. Se possibile, per migliorare la sicurezza, creare il file durante la distribuzione e concedere Write l'autorizzazione solo a tale file anziché all'intera directory. Per migliorare la sicurezza, scrivere i dati nelle directory utente anziché nella directory radice o nella directory Programmi.

Il canale da aprire può essere trovato usando la FreeFile() funzione .

Importante

La FileOpen funzione richiede Read l'accesso dall'enumerazione, che può influire sull'esecuzione FileIOPermissionAccess in situazioni di attendibilità parziale. Per ulteriori informazioni, vedere l'enumerazione FileIOPermissionAccess.

Si applica a

Vedi anche