FileSystem.FileOpen 메서드

정의

입력 또는 출력을 위한 파일을 엽니다. 이 My 기능은 파일 I/O 작업 FileOpen에서 생산성과 성능을 제공합니다. 자세한 내용은 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)

매개 변수

FileNumber
Int32

필수 사항입니다. 유효한 파일 번호입니다. 함수를 FreeFile 사용하여 사용 가능한 다음 파일 번호를 가져옵니다.

FileName
String

필수 사항입니다. 파일 이름을 지정하는 문자열 식 - 디렉터리 또는 폴더 및 드라이브를 포함할 수 있습니다.

Mode
OpenMode

필수 사항입니다. 파일 모드를 지정하는 열거형: Append, Binary, Input, Output또는 Random. 자세한 내용은 OpenMode을 참조하십시오.

Access
OpenAccess

Optional. 열려 있는 파일에서 허용되는 작업을 지정하는 열거형입니다ReadWriteReadWrite. 기본값은 ReadWrite입니다. 자세한 내용은 OpenAccess을 참조하십시오.

Share
OpenShare

Optional. 열려 있는 파일에서 다른 프로세스에 의해 허용되지 않는 작업을 지정하는 열거형: Shared, Lock Read, Lock WriteLock Read Write. 기본값은 Lock Read Write입니다. 자세한 내용은 OpenShare을 참조하십시오.

RecordLength
Int32

Optional. 32,767(바이트)보다 작거나 같은 숫자입니다. 임의 액세스를 위해 열린 파일의 경우 이 값은 레코드 길이입니다. 순차 파일의 경우 이 값은 버퍼링된 문자 수입니다.

예외

레코드 길이는 음수이며 -1같지 않습니다.

FileName 가 이미 열려 있거나 FileName 잘못되었습니다.

예제

이 예제에서는 파일에 대한 입력 및 출력을 FileOpen 사용하도록 설정하는 함수의 다양한 용도를 보여 줍니다.

다음 코드는 파일을 TestFile 모드로 Input 엽니다.

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

다음은 쓰기 작업에 대해서만 파일을 모드로 Binary 여는 예제입니다.

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

다음 예제에서는 파일을 모드로 Random 엽니다. 파일에는 구조 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

이 코드 예제에서는 모드에서 Output 파일을 엽니다. 모든 프로세스는 파일을 읽거나 쓸 수 있습니다.

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

이 코드 예제에서는 읽기 모드에서 Binary 파일을 엽니다. 다른 프로세스에서는 파일을 읽을 수 없습니다.

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

설명

FileOpen 함수는 이전 버전과의 호환성을 위해 제공되며 성능에 영향을 줄 수 있습니다. 레거시가 아닌 애플리케이션의 경우 개체는 My.Computer.FileSystem 더 나은 성능을 제공합니다. 자세한 내용은 Visual Basic 참조하세요.

I/O 작업을 수행하려면 먼저 파일을 열어야 합니다. FileOpen 는 I/O용 버퍼를 파일에 할당하고 버퍼와 함께 사용할 액세스 모드를 결정합니다.

Important

파일에 쓸 때 애플리케이션이 작성하려는 파일이 없는 경우 파일을 만들어야 할 수 있습니다. 이렇게 하려면 파일을 만들 디렉터리에 대한 권한이 필요합니다. 그러나 지정된 FileName 파일이 있는 경우 애플리케이션에는 파일 자체에 대한 권한만 필요합니다 Write . 가능한 경우 보안을 향상하려면 배포 중에 파일을 만들고 전체 디렉터리가 아닌 해당 파일에만 권한을 부여 Write 합니다. 보안을 향상하려면 루트 디렉터리 또는 Program Files 디렉터리 대신 사용자 디렉터리에 데이터를 씁니다.

열 채널은 함수를 사용하여 FreeFile() 찾을 수 있습니다.

Important

이 함수는 FileOpenRead 부분 신뢰 상황에서의 실행에 영향을 줄 수 있는 열거형에서 FileIOPermissionAccess 액세스해야 합니다. 자세한 내용은 열거형을 참조 FileIOPermissionAccess 하세요.

적용 대상

추가 정보