FileSystem.FileOpen Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.