다음을 통해 공유


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

선택 사항입니다. Read, Write, ReadWrite 등 열려 있는 파일에 허용되는 작업을 지정하는 열거형입니다. 기본값은 ReadWrite입니다. 자세한 내용은 OpenAccess을 참조하십시오.

Share
OpenShare

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

RecordLength
Int32

선택 사항입니다. 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용 버퍼를 할당하고 버퍼와 함께 사용할 액세스 모드를 결정합니다.

중요

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

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

중요

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

적용 대상

추가 정보