FileSystem.FileOpen Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.