File::Open
파일의 내용에 대한 접근을 엽니다(허용합니다).
virtual GSErrCode Open ( OpenMode om );
파라미터
- om
- 파일의 내용에 접근할 수 있는 방식을 결정합니다. 가능한 모드들은 다음과 같습니다:
-
값 의미 ReadMode 읽기 동작으로만 파일의 내용에 접근할 수 있습니다. WriteMode 쓰기 동작으로만 파일의 내용에 접근할 수 있습니다. WriteEmptyMode WriteMode와 동일하지만, 열릴 때 파일의 내용이 지워집니다. (파일 내용의 길이가 0으로 세트됨) ReadWriteMode ReadMode + WriteMode. 중요: 이 모드에서는 File class에 의한 버퍼링이 비활성화됩니다. 그래서 많은 simple 타입(type 동작)들을 기록하는 것은 상당히 비효율적입니다. 게다가 이 모드에서는 출력 채널 상에서 블록 지원이 비활성화됩니다. (주요 chunk 형태의) 바이너리 쓰기는 영향을 받지 않습니다.
AppendMode 쓰기 동작 위치가 항상 파일 내용의 현재 끝에 있는 특수 WriteMode입니다. (appending) 파일을 열 때, 파일 내용 위치는 자동으로 원래 내용의 끝으로 세트됩니다. (그러므로 기존 데이터는 덮어쓸 수 없음)
파일 내용의 랜덤 액세스 가능한 프로퍼티와 관련된 동작(탐색, 파일 위치 쿼리/설정)들은 허용하지 않습니다.
리턴 값
값 | 의미 |
---|---|
NoError* | OK |
AccessDenied* | 이 파일에서 이 동작을 허용하지 않습니다. |
NoMoreOSFile* | 해제된 OS 핸들이 없으므로 파일을 열 수 없습니다. |
Error* | 불특정 오류입니다. |
* File class 범위에서 선언함
* GS 네임스페이스에서 선언했지만, 글로벌 범위에서 접근 가능함
설명
파일 내용에 접근하기 전에 반드시 몇 가지 모드로 열어야 합니다. (날짜 등과 같은 그 외 파일 속성들은 open/close 동작으로 감싸지 않고도 직접 조작할 수 있음) 열기를 수행하는 동안, appending 모드를 제외하면 파일 내용 위치는 파일 내용의 시작으로 세트됩니다. (0 위치) appending 모드에서는 파일 내용 위치가 파일 내용의 끝으로 세트됩니다.
열기를 수행한 후에, 열기 모드 om에 따라 파일 내용에 접근하거나 읽기, 쓰기, 위치 지정 동작들을 통해 조작할 수 있습니다. 열린 File 인스턴스는 open 모드에 따라 적절한 입력 채널(GS::IChannel), 출력 채널(GS::OChannel), 또는 양쪽 채널로 사용될 수 있습니다.
사용 후에는 파일 내용에 대한 접근을 Close 메소드로 명시적으로 닫을 수 있습니다. (선호하는 스타일)
결국 파일 내용이 열린 채로 남아 있다면, 소멸 시간에 자동으로 닫히게 될 것입니다.
파일 내용은 임의로 열거나 닫을 수 있습니다.