FileSystem.FileOpen Método

Definição

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.

C#
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);

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 .

VB
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.

VB
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.

VB
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.

VB
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.

VB
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.

Aplica-se a

Produto Versões
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Confira também