Função FileOpen
Abre um arquivo para a entrada ou saída.
O recurso My dá a você maior produtividade e desempenho em operações de E/S de arquivos que FileOpen.Para obter mais informações, consulte Objeto My.Computer.FileSystem.
Public Sub FileOpen( _
ByVal FileNumber As Integer, _
ByVal FileName As String, _
ByVal Mode As OpenMode, _
Optional ByVal Access As OpenAccess = OpenAccess.Default, _
Optional ByVal Share As OpenShare = OpenShare.Default, _
Optional ByVal RecordLength As Integer = -1 _
)
Parâmetros
FileNumber
Obrigatório.Qualquer número de arquivo válido.Use a função FreeFile para obter o próximo número disponível de arquivo.FileName
Obrigatório.String expressão que especifica um nome de arquivo — pode incluir diretório ou pasta e unidade.Mode
Obrigatório.Enumeração que especifica o modo de arquivo: Append, Binary, Input, Output, ou Random. (Para obter mais informações, consulte Enumeração ModoAberto.)Access
Opcional.Enumeração que especifica as operações permitidas na em aberto arquivo: Read, Write, ou ReadWrite. O padrão é ReadWrite.(Para obter mais informações, consulte Enumeração OpenAccess.)Share
Opcional.Enumeração que especifica as operações não permitidas em arquivos abertos por outros processos: Shared, Lock Read, Lock Write, e Lock Read Write. O padrão é Lock Read Write.(Para obter mais informações, consulte Enumeração OpenShare.)RecordLength
Opcional.Número menor ou igual a 32.767 (bytes).Para arquivos abertos para acesso aleatório, esse valor é o comprimento do registro.Para arquivos sequenciais, esse valor é o número de caracteres armazenados em buffer.
Exceções
Tipo de exceção |
Número de erro |
Condição |
---|---|---|
Inválido Access, Share ou Mode. |
||
Arquivo WriteOnly está aberto para Input. |
||
Arquivo ReadOnly está aberto para Output. |
||
Arquivo ReadOnly está aberto para Append. |
||
Comprimento do registro é negativo (e não é igual a -1). |
||
FileNumber é inválido (<-1 ou > 255), ou FileNumber já está em uso. |
||
FileName já está aberto, ou FileName é inválido. |
Ver a coluna " número de erro " se você estiver atualizando aplicativos Visual Basic 6.0 que usam manipulação de erros não estruturada.(Você pode comparar o número do erro com a Propriedade do Número (Erro de objeto).) Entretanto, quando for possivel, você pode considerar substituir tal controle de erro por Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic.
Comentários
A função FileOpen é fornecida para compatibilidade com versões anteriores e pode afetar o desempenho.Para aplicações novas, o objeto My.Computer.FileSystem fornece melhor performance.Para obter mais informações, consulte Access de Arquivo com o Visual Basic.
Você deve em em aberto um arquivo antes que qualquer operação de E/s pode ser realizada nele.FileOpen aloca um buffer de E/s no arquivo e determina o modo de acesso para usar com o buffer.
Observação de segurança: |
---|
Ao escrever em um arquivo, um aplicativo pode precisar criar um arquivo, se o arquivo no qual ele está tentando escrever não existir.Para fazer isso, ele precisa de permissão para o diretório no qual o arquivo será criado.No entanto, se o arquivo especificado pelo FileName existir, as necessidades de aplicativo Write permissão somente para o próprio arquivo. Sempre que possível, para ajudar a aprimorar a segurança, crie o arquivo durante a implementação e conceda a permissão Write somente para aquele arquivo, em vez de todo o diretório.Para ajudar a aumentar a segurança, grave dados em diretórios de usuário em vez de fazê-lo para o diretório raiz ou o diretório Arquivos de Programas. |
O canal para abrir pode ser encontrado usando a função FreeFile().
Observação de segurança: |
---|
O FileOpen função requer Read acessar a partir do FileIOPermissionAccess enumeração, que pode afetar sua execução em situações de confiança parcial. Para obter mais informações, consulte a enumeração FileIOPermissionAccess e Solicitando permissões. |
Exemplo
Este exemplo ilustra vários usos da função FileOpen para ativar entrada e saída para um arquivo.
O código a seguir abre o arquivo TestFile no modo Input.
FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)
Este exemplo abre o arquivo no modo Binary para gravar somente 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 modo Random.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 Output; qualquer processo pode ler ou gravar no arquivo.
FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)
Esta exemplo de código abre o arquivo no modo Binary para leitura; outros processos não podem ler arquivo.
FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read, _
OpenShare.LockRead)
Anotações Developer Dispositivo Inteligente
Não há suporte para esta função.
Requisitos
Namespace:Microsoft.VisualBasic
**Módulo:**FileSystem
Assembly: Visual Basic Runtime Library (em Microsoft.VisualBasic.dll)