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

ArgumentException

5

Inválido Access, Share ou Mode.

ArgumentException

5

Arquivo WriteOnly está aberto para Input.

ArgumentException

5

Arquivo ReadOnly está aberto para Output.

ArgumentException

5

Arquivo ReadOnly está aberto para Append.

ArgumentException

5

Comprimento do registro é negativo (e não é igual a -1).

IOException

52

FileNumber é inválido (<-1 ou > 255), ou FileNumber já está em uso.

IOException

55

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)

Consulte também

Referência

Função FileClose

Função FreeFile

Outros recursos

Leitura de arquivos no Visual Basic

Gravando em Arquivos no Visual Basic