FileSystem.FileOpen Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Abre um arquivo para entrada ou saída. O recurso My
oferece melhor produtividade e desempenho em operações de E/S do arquivo do que FileOpen
. Para obter mais informações, consulte 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)
Parâmetros
- FileNumber
- Int32
Obrigatórios. Qualquer número de arquivo válido. Use a função de FreeFile
para obter o próximo número disponível de arquivo.
- FileName
- String
Obrigatórios. Uma expressão de cadeia de caracteres que especifica um nome de arquivo – pode incluir o diretório ou a pasta e a unidade.
- Mode
- OpenMode
Obrigatórios. Enumeração especificando o modo de arquivo: Append
, Binary
, Input
, Output
ou Random
. Para obter mais informações, consulte OpenMode.
- Access
- OpenAccess
Opcional. Enumeração especificando as operações permitidas no arquivo aberto: Read
, Write
ou ReadWrite
. Assume o padrão de ReadWrite
. Para obter mais informações, consulte OpenAccess.
- Share
- OpenShare
Opcional. Enumeração especificando as operações não permitidas no arquivo aberto: Shared
, Lock Read
, Lock Write
ou Lock Read Write
. Assume o padrão de Lock Read Write
. Para obter mais informações, consulte OpenShare.
- RecordLength
- Int32
Opcional. Número menor que ou igual a 32.767 (bytes). Para arquivos abertos para acesso aleatório, esse valor é o tamanho do registro. Para arquivos sequenciais, esse valor é o número de caracteres armazenados em buffer.
Exceções
tamanho do registro é negativo (e não é igual a -1).
FileName
já está aberto ou FileName
é inválido.
Exemplos
Este exemplo ilustra vários usos da FileOpen
função para habilitar a entrada e a saída para um arquivo.
O código a seguir abre o arquivo TestFile
no Input
modo .
FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)
Este exemplo abre o arquivo no Binary
modo somente para gravação de operações.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)
O exemplo a seguir abre o arquivo no Random
modo . O arquivo contém registros da estrutura 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
Este exemplo de código abre o arquivo no modo ; qualquer processo pode ler ou gravar no Output
arquivo.
FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)
Este exemplo de código abre o arquivo no Binary
modo de leitura; outros processos não podem ler o arquivo.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
OpenShare.LockRead)
Comentários
A FileOpen
função é fornecida para compatibilidade com versões anteriores e pode afetar o desempenho. Para aplicativos não herdados, o My.Computer.FileSystem
objeto fornece melhor desempenho. Para saber mais informações, confira Acesso a Arquivos com o Visual Basic.
Você deve abrir um arquivo antes que qualquer operação de E/S possa ser executada nele. FileOpen
aloca um buffer de E/S para o arquivo e determina o modo de acesso a ser usado com o buffer.
Importante
Ao gravar em um arquivo, um aplicativo pode ter que criar um arquivo, se o arquivo no qual ele está tentando gravar não existir. Para fazer isso, ele precisa de permissão para o diretório no qual o arquivo deve ser criado. No entanto, se o arquivo especificado por FileName
existir, o aplicativo precisará Write
apenas de permissão para o próprio arquivo. Sempre que possível, para ajudar a melhorar a segurança, crie o arquivo durante a implantação e conceda Write
permissão somente a esse arquivo, em vez de para todo o diretório. Para ajudar a melhorar a segurança, escreva dados em diretórios de usuário em vez de no diretório raiz ou no diretório Arquivos de Programas.
O canal a ser aberto pode ser encontrado usando a FreeFile()
função .
Importante
A FileOpen
função requer Read
acesso da enumeração, o FileIOPermissionAccess
que pode afetar sua execução em situações de confiança parcial. Para obter mais informações, confira a enumeração FileIOPermissionAccess.