FileSystem.FileOpen Método

Definição

Abre um ficheiro para entrada ou saída. A My funcionalidade dá-lhe melhor produtividade e desempenho nas operações de I/O de ficheiros do que FileOpen. Para obter mais informações, veja 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

Required. Qualquer número de ficheiro válido. Use a FreeFile função para obter o próximo número de ficheiro disponível.

FileName
String

Required. Uma expressão string que especifica um nome de ficheiro pode incluir diretório ou pasta, e drive.

Mode
OpenMode

Required. Enumeração que especifica o modo de ficheiro: Append, Binary, Input, Output, ou Random. Para obter mais informações, consulte OpenMode .

Access
OpenAccess

Optional. Enumeração que especifica as operações permitidas no ficheiro aberto: Read, Write, ou ReadWrite. O valor padrão é ReadWrite. Para obter mais informações, consulte OpenAccess .

Share
OpenShare

Optional. Enumeração que especifica as operações não permitidas no ficheiro aberto por outros processos: Shared, Lock Read, Lock Write, e Lock Read Write. O valor padrão é Lock Read Write. Para obter mais informações, consulte OpenShare .

RecordLength
Int32

Optional. Número inferior ou igual a 32.767 (bytes). Para ficheiros abertos para acesso aleatório, este valor é o comprimento do registo. Para ficheiros sequenciais, este valor é o número de caracteres em buffer.

Exceções

O comprimento do registo é negativo (e não é igual a -1).

FileName já está aberto, ou FileName é inválido.

Exemplos

Este exemplo ilustra várias utilizações da FileOpen função para permitir entrada e saída num ficheiro.

O código seguinte abre o ficheiro TestFile em Input modo.

FileOpen(1, "TESTFILE", OpenMode.Input)
' Close before reopening in another mode.
FileClose(1)

Este exemplo abre o ficheiro apenas Binary para operações de escrita.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Write)
' Close before reopening in another mode.
FileClose(1)

O exemplo seguinte abre o ficheiro em Random modo. O ficheiro contém registos 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 ficheiro em Output modo; qualquer processo pode ler ou escrever no ficheiro.

FileOpen(1, "TESTFILE", OpenMode.Output, OpenAccess.Default, OpenShare.Shared)
' Close before reopening in another mode.
FileClose(1)

Este exemplo de código abre o ficheiro em Binary modo de leitura; outros processos não conseguem ler o ficheiro.

FileOpen(1, "TESTFILE", OpenMode.Binary, OpenAccess.Read,
   OpenShare.LockRead)

Observações

A FileOpen função é fornecida para compatibilidade retrocedente e pode afetar o desempenho. Para aplicações não legadas, o My.Computer.FileSystem objeto oferece melhor desempenho. Para mais informações, consulte Acesso a ficheiros com Visual Basic.

Deve abrir um ficheiro antes de qualquer operação de I/O poder ser realizada nele. FileOpen aloca um buffer de I/O ao ficheiro e determina o modo de acesso a usar com o buffer.

Importante

Ao escrever num ficheiro, uma aplicação pode ter de criar um ficheiro, se o ficheiro para o qual está a tentar escrever não existir. Para isso, é necessário obter permissão para o diretório onde o ficheiro será criado. No entanto, se o ficheiro especificado por FileName existir, a aplicação precisa Write de permissão apenas para o próprio ficheiro. Sempre que possível, para ajudar a melhorar a segurança, crie o ficheiro durante a implementação e conceda Write permissão apenas a esse ficheiro, em vez de a todo o diretório. Para ajudar a melhorar a segurança, escreva os dados nos diretórios de utilizadores em vez de no diretório raiz ou no diretório Program Files.

O canal a abrir pode ser encontrado usando a FreeFile() função.

Importante

A FileOpen função requer Read acesso a partir da FileIOPermissionAccess enumeração, o que pode afetar a sua execução em situações de confiança parcial. Para mais informações, consulte FileIOPermissionAccess enumeração.

Aplica-se a

Ver também