File class
설명 | 파일 처리: 내용 조작 (읽기/쓰기), 속성 쿼리/설정. 자세히... |
---|---|
모듈 | InputOutput |
Base classes | GS::IChannel, GS::OChannel |
Derived classes | - |
헤더 | File.hpp |
Public 메소드
생성자
소멸자
static New
참고: 복사 생성자와 할당 연산자는 비활성화되어 있습니다.
상태 쿼리
GetStatus
파일 내용 조작 (=> 베이스 class들도 보십시오!)
Open
IsOpen
Close
GetAvailable
SetPosition
GetPosition
Seek
파일 속성 설정/쿼리
SetDataLength
GetDataLength
SetCreationTime
GetCreationTime
SetModificationTime
GetModificationTime
SetTypeInfo
GetTypeInfo
IsReadable
IsWriteable
IsWriteProtected
SetWriteProtection
ClearWriteProtection
Location 쿼리
GetLocation
Public 타입
OpenMode
OnNotFound
SeekOrigin
설명
File은 배후에 특정 OS의 파일 시스템을 갖고 있는 데이터 소스 및 데이터 목적지로서 하나의 채널(입출력)입니다. File 인스턴스를 생성하기 위해, 파일 시스템에서 원하는 파일의 위치(주소, 경로)가 반드시 제공되어야 합니다. (class Location을 보십시오) 반면에, File은 쿼리(읽기)와 설정(쓰기)을 위한 몇 가지 속성들을 갖고 있는 영구적인 저장소 class입니다. (내용도 포함하고 있음)
가장 중요한 File은 파일의 내용이라고 하는 임의의 긴 raw 데이터 섹션을 포함하고 있습니다. 이 내용에 접근하기 전에 Open 메소드를 이용하여 몇 가지 모드로 열어야 합니다. 그 후에 특정 File 인스턴스는 open 모드에 따라 적절한 입력 채널(GS::IChannel), 출력 채널(GS::OChannel), 또는 양쪽 채널로 사용될 수 있습니다. 마지막으로 파일을 사용한 후에는 반드시 닫아야 합니다. 사용자가 명시적으로 Close 메소드를 호출하거나, 소멸자에 두어서 파일을 닫을 수 있습니다. (만약 파일이 열린 채로 있다면 Close 메소드를 호출하게 됨)
그 외 파일 속성들은 내용의 길이, 생성 시간, 변경 시간, 타입 정보를 포함하고 있습니다. 이 속성들은 open/close 동작으로 감싸지 않고도 직접 쿼리/설정할 수 있습니다.
모든 열린 파일은 "파일 내용 위치"라는 연관된 위치를 갖고 있습니다. 파일 내용에서 읽기/쓰기 동작들은 이 위치로 표시된 지점에서 수행될 것입니다. 성공적인 동작 이후에 이 위치는 적절하게 증가되므로, (탐색이 없었다면) 이전 동작에 의해 작동되는 내용 세그먼트 이후에 다음 동작이 수행될 것입니다. File은 랜덤 액세스 프로퍼티를 갖고 있습니다. 왜냐하면 파일 내용 위치를 Seek 메소드를 이용하여 명시적으로 조정할 수 있기 때문입니다. (appending 모드는 예외)
기본 입력 프로토콜은 BinIProtocol이고,
기본 출력 프로토콜은 BinOProtocol입니다.

- 파일 내용은 데이터 포크(fork)를 의미합니다. 리소스 포크(fork)는 접근할 수 없습니다.