GnuSmalltalkUsersGuide:BaseChapter 074

From 흡혈양파의 번역工房
Jump to navigation Jump to search
FilePath

FilePath

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: Object

범주: 스트림-파일


나는 경로를 포함해 파일명의 구문을 노출한다. 나는 그러한 경로를 구성요소로 나누어 조작하는 방법을 알고 있다. 뿐만 아니라 (실제와 가상) 파일의 크기나 타임스탬프와 같은 정보를 보여준다.


FilePath 클래스: 파일명 관리

append: fileName to: directory

'directory'로 명명된 디렉터리에 상주하는 'fileName'로 명명된 파일명을 응답하라.

extensionFor: aString

'aString'으로 명명된 파일의 확장자를 응답하라. 주목: 확장자는 앞에 붙은 점까지 포함한다.

fullNameFor: aString

'.'와 '..' 디렉터리 엔트리를 분석하여 'aString'이라 불리는 파일의 전체 경로를 응답하고 결과를 응답하라. '/..'는 '/'와 같다.

pathFor: aString

'aString'이라는 파일명의 경로를 알아내고 결과를 응답하라. 루트 디렉터리를 제외하곤 마지막 슬래시가 제거된다.

pathFor: aString ifNone: aBlock

'aString'이라는 파일명의 경로를 알아내고 결과를 응답하라. 루트 디렉터리를 제외하곤 마지막 슬래시가 제거된다. 해당하는 경로가 없다면 aBlock을 평가하고 결과를 리턴하라.

pathFrom: srcName to: destName

현재 디렉터리가 srcName의 디렉터리일 때 destName에 대한 상대 경로를 응답하라.

stripExtensionFrom: aString

'aString'이라는 파일명에서 확장자를 제거하고 결과를 응답하라.

stripFileNameFor: aString

'aString'이라는 파일명의 경로를 알아내고 결과를 마지막 슬래시를 포함한 디렉터리명으로서 응답하라.

stripPathFrom: aString

'aString'이라는 파일명에서 경로를 제거하고 파일명과 확장자를 모두 응답하라.


FilePath 클래스: 아직 분류되지 않음

isAbsolute: aString

aString이 절대 경로인지 응답하라.


FilePath: 접근하기

at: aName

수신자가 나타낸 디렉터리에 'aName'으로 명명된 파일에 적절한 File 또는 Directory 객체를 응답하라.

creationTime

수신자에 의해 식별된 파일의 생성 시간을 응답하라. 일부 운영체제에서는 마지막 변경 시간이 해당될 수도 있다 ('마지막 변경 시간'은 권한, 소유권과 같은 개념과 관련이 있다).

group: aString

수신자에 의해 식별된 파일의 그룹을 aString가 되도록 설정하라.

includes: aName

수신자가 나타낸 디렉터리에 'aName'으로 명명된 파일이 존재하는지 응답하라.

lastAccessTime

수신자에 의해 식별된 파일의 마지막 접근 시간을 응답하라.

lastAccessTime: aDateTime

수신자에 해당하는 파일의 마지막 접근 시간을 aDateTime이 되도록 업데이트하라.

lastAccessTime: accessDateTime lastModifyTime: modifyDateTime

수신자에 해당하는 파일의 타임스탬프가 accessDateTime과 modifyDateTime이 되도록 업데이트하라.

lastChangeTime

수신자에 의해 식별된 파일의 마지막 변경 시간을 응답하라 ('마지막 변경 시간'은 권한, 소유권과 같은 개념과 관련이 있다). 일부 운영체제에서는 파일 생성 시간이 해당될 수도 있다.

lastModifyTime

수신자에 의해 식별된 파일의 마지막 수정 시간을 응답하라 ('마지막 수정 시간'은 실제 파일 내용과 관련이 있다).

lastModifyTime: aDateTime

수신자에 해당하는 파일의 마지막 수정 타임스탬프가 aDateTime이 되도록 업데이트하라.

mode

수신자에 의해 식별된 파일에 대한 권한 비트를 응답하라.

mode: anInteger

수신자에 의해 식별된 파일에 대한 권한 비트를 anInteger가 되도록 설정하라.

owner: aString

수신자에 의해 식별된 파일의 소유주를 aString이 되도록 설정하라.

owner: ownerString group: groupString

수신자에 의해 식별된 파일의 소유주와 그룹이 aString이 되도록 설정하라.

pathTo: destName

수신자부터 destName까지 상대 경로를 계산하라.

refresh

수신자에 대한 통계를 refresh하라.

size

수신자에 의해 식별된 파일의 크기를 응답하라.


FilePath: 변환하기

asFile

수신자를 응답하라.


FilePath: 장식

all

반복 메서드를 위해 디렉터리로 재귀적 하향 방식을 제공하게 될 수신자의 decorator를 리턴하라.


FilePath: 디렉터리 조작

createDirectories

수신자를 모든 부모와 함께 하나의 디렉터리로서 생성하라.

createDirectory

수신자를 모든 부모와 함께 하나의 디렉터리로서 생성하라.

nameAt: aName

수신자가 나타낸 디렉터리에 상주하는 'aName'으로 명명된 파일에 대한 FilePath를 응답하라.


FilePath: 열거하기=

allFilesMatching: aPattern do: aBlock

수신자가 명명한 디렉터리에 aPattern에 일치하는(String>>-#match:에 따라) File 객체 상에서 aBlock을 평가하라. 디렉터리로 재귀적으로 하향하라.

directories

수신자가 나타낸 디렉터리의 하위디렉터리를 위한 Directory 객체로 된 Array를 응답하라.

do: aBlock

수신자가 나타낸 디렉터리 내 각 파일마다 한 번씩 aBlock을 평가하고 그 이름을 전달하라.

entries

수신자가 나타낸 디렉터리의 내용에 대한 File 또는 Directory 객체로 된 Array를 응답하라.

entryNames

수신자가 나타낸 디렉터리 내의 파일명으로 된 Array를 응답하라.

files

수신자가 나타낸 디렉터리의 내용에 대한 File 객체로 된 Array를 응답하라.

filesMatching: aPattern

수신자가 나타낸 디렉터리 내 각 파일마다 한 번씩 aBlock을 평가하고 File 또는 Directory 객체를 aBlock으로 전달하라. aBlock이 true를 리턴하는 파일의 *이름*을 리턴하라.

filesMatching: aPattern do: block

수신자가 명명한 디렉터리에서 aPattern에 (String>>-#match:에 따라) 일치하는 File 객체 상에서 블록을 평가하라.

namesDo: aBlock

수신자가 나타낸 디렉터리 내 각 파일마다 aBlock을 한 번씩 평가하고 그 이름을 전달하라.

namesMatching: aPattern do: block

수신자가 명명한 디렉터리에서 aPattern에 (String>>-#match:에 따라) 일치하는 파일명에서 블록을 평가하라.

reject: aBlock

수신자가 나타낸 디렉터리 내 각 파일마다 aBlock을 한 번씩 평가하고 File 또는 Directory 객체를 aBlock으로 전달하라. aBlock이 true를 리턴하는 파일의 *이름*을 리턴하라.

select: aBlock

수신자가 나타낸 디렉터리 내 각 파일마다 aBlock을 한 번씩 평가하고 File 또는 Directory 객체를 aBlock으로 전달하라. aBlock이 true를 리턴하는 파일의 *이름*을 리턴하라.


FilePath: 파일명 관리

directory

수신자의 경로에 대한 Directory 객체를 응답하라.

extension

수신자의 확장자를 응답하라.

full

'.'와 '..' 디렉터리 엔트리를 분석하여 수신자의 전체 이름을 응답하고 결과를 응답하라. 이름이 유효하지 않은 경우 (예: '/usr/../../badname') nil을 응답하라.

fullName

수신자에 대한 전체 경로로 된 String을 응답하라 (#name과 동일; 해당 메서드의 오버라이드는 소용 없는 짓이다).

name

수신자에 대한 전체 경로로 된 String을 응답하라 (#fullName과 동일).

parent

수신자의 경로에 대한 Directory 객체를 응답하라.

path

(존재하는 경우) 수신자의 경로를 응답하라.

stripExtension

(존재하는 경우) 수신자의 경로와 파일명을 응답하라.

stripFileName

수신자의 경로를 응답하되 항시 디렉터리명(아마 '.'가 될 것이다)과 최종 디렉터리 구분자를 응답하라.

stripPath

수신자의 파일명과 확장자를 (존재하는 경우에) 응답하라.


FilePath: 파일 조작

contents

읽기만 가능한 FileStream을 수신자 상에 열어 내용을 읽고, 스트림을 닫은 후 내용을 응답하라.

fileIn

수신자를 file in하라.

open: mode

주어진 모드로 수신자를 열어라 (FileStream의 클래스 상수 메서드가 응답한대로).

open: mode ifFail: aBlock

주어진 모드로 수신자를 열어라 (FileStream의 클래스 상수 메서드가 응답한대로). 실패할 경우, aBlock을 평가하라.

open: class mode: mode ifFail: aBlock

주어진 모드로 수신자를 열어라 (FileStream의 클래스 상수 메서드가 응답한대로).

openDescriptor: mode

주어진 모드로 수신자를 열어라 (FileStream의 클래스 상수 메서드가 응답한대로).

openDescriptor: mode ifFail: aBlock

주어진 모드로 수신자를 열어라 (FileStream의 클래스 상수 메서드가 응답한대로). 실패할 경우, aBlock을 평가하라.

pathFrom: dirName

디렉터리 dirName부터 수신자까지 상대 경로를 계산하라.

readStream

읽기만 가능한 FileStream을 수신자 상에서 열어라.

remove

수신자에 의해 식별된 파일을 제거하라.

renameTo: newName

수신자에 의해 식별된 파일을 newName으로 재명명하라.

symlinkAs: destName

destName을 수신자의 심볼릭 링크로서 생성하라. 이에 적절한 상대 경로가 자동으로 계산된다.

symlinkFrom: srcName

수신자를 srcName으로부터 심볼릭 링크로 생성하라 (수신자의 경로에 대해 상대적).

touch

수신자에 해당하는 파일의 타임스탬프를 업데이트하라.

withReadStreamDo: aBlock

나에게서 열린 reading 스트림으로 aBlock을 호출하고, aBlock의 동적 범위(dynamic extent)가 끝날 때 닫아라.

withWriteStreamDo: aBlock

나에게서 열린 writing 스트림으로 aBlock을 호출하고, aBlock의 동적 범위(dynamic extent)가 끝날 때 닫아라.

writeStream

쓰기만 가능한 FileStream을 수신자 상에서 열어라.


FilePath: 인쇄하기

displayOn: aStream

수신자의 표현을 aStream 상에 인쇄하라..

printOn: aStream

수신자의 표현을 aStream 상에 인쇄하라..


FilePath: 아직 분류되지 않음

/ aName

수신자가 나타낸 디렉터리에 'aName'으로 명명된 파일에 적절한 File 또는 Directory 객체를 응답하라.


FilePath: 검사하기

exists

수신자에 포함된 이름으로 된 파일의 존재 유무를 응답하라.

isAbsolute

수신자가 절대 경로를 식별하는지 응답하라.

isAccessible

수신자에 포함된 이름으로 된 디렉터리의 존재 유무와 접근 가능성 여부를 응답하라.

isDirectory

수신자에 포함된 이름으로 된 파일의 존재 유무와 그것이 디렉터리를 식별하는지 응답하라.

isExecutable

수신자에 포함된 이름으로 된 파일의 존재 유무와 실행 가능성 여부를 응답하라.

isFile

수신자에 포함된 이름으로 된 파일의 존재 유무와 그것이 디렉터리를 식별하지 않는지를 응답하라.

isFileSystemPath

수신자가 실제 filesystem 경로에 일치하는지 응답하라.

isReadable

수신자에 포함된 이름으로 된 파일의 존재 유무와 읽기 가능성 여부를 응답하라.

isRelative

수신자가 상대 경로를 식별하는지 응답하라.

isSymbolicLink

수신자에 포함된 이름으로 된 파일의 존재 유무와 그것이 심볼릭 링크를 식별하는지 응답하라.

isWriteable

수신자에 포함된 이름으로 된 파일의 존재 유무와 쓰기 가능성 여부를 응답하라.


FilePath: 가상 filesystems

zip

해당 설명 없음.


Notes