UTL_FILE

개요

UTL_FILE은 OS 파일 시스템에 파일을 읽거나 씁니다.

함수 / 프로시저
반환 타입
설명

FCLOSE

UTL_FILE.FILE_TYPE

파일을 닫는 함수입니다.

FCLOSE_ALL

VOID

현재 세션에 열린 모든 파일을 닫는 함수입니다.

FCOPY

VOID

파일의 연속되는 부분을 새로 생성된 파일에 복사하는 함수입니다.

FFLUSH

VOID

아직 파일에 쓰지 않고 버퍼에 남아 있는 데이터를 파일에 쓰는 함수입니다.

FGETATTR

n/a

디스크 파일의 속성을 반환하는 함수입니다.

FOPEN

UTL_FILE.FILE_TYPE

파일을 여는 함수입니다.

FREMOVE

VOID

파일을 삭제하는 함수입니다.

FRENAME

VOID

파일 이름을 변경하는 함수입니다.

GET_LINE

n/a

파일 텍스트 내 한 줄을 읽어오는 함수입니다.

IS_OPEN

BOOLEAN

파일이 열려있는지 확인하는 함수입니다.

NEW_LINE

BOOLEAN

파일 내 줄 띄어쓰기를 삽입하는 함수입니다.

PUT

BOOLEAN

파일에 문자열을 넣는 함수입니다.

PUT_LINE

BOOLEAN

파일에 한 줄의 문자열을 넣는 함수입니다.

PUTF

BOOLEAN

formatted string을 넣는 함수입니다.


보안 모델

설치는 super user에 이루어져야 하고 public으로 공개되어 있습니다.

Tablespace에 대한 접근 권한이 있어야 파일 생성/읽기/쓰기가 가능합니다.


구성

본 절에서는 UTL_FILE 패키지에서 제공하는 프로시저와 함수를 알파벳 순으로 설명합니다.

FCLOSE

파일을 닫는 함수입니다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들입니다.

예제

FCLOSE_ALL

현재 세션에 열린 모든 파일을 닫는 함수입니다.

프로토타입

예제

FCOPY

파일의 연속되는 부분을 새로 생성된 파일에 복사하는 함수입니다.

프로토타입

파라미터

파라미터
설명

src_location

복사를 진행할 대상 파일이 위치할 경로의 디렉터리명입니다.

src_filename

복사를 진행할 대상 파일의 이름입니다.

dest_location

복사가 진행된 이후 파일이 위치할 경로의 디렉터리명입니다.

dest_filename

복사가 진행된 이후의 파일의 이름이다.

start_line

복사를 진행할 시작 위치이다. 파일의 라인 번호를 사용해 명시한다.(기본값: 1, 파일의 첫 번째 의미이다.)

end_line

복사를 끝낼 종료 위치이다. start_line과 마찬가지로 라인 번호로 명시한다.(기본값: NULL, 파일의 마지막 라인을 의미한다.)

예제

FFLUSH

아직 파일에 쓰지 않고 버퍼에 남아 있는 데이터를 파일에 쓰는 함수이다. 데이터는 반드시 EOL 문자로 끝나야 한다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들러이다.

예제

FGETATTR

디스크 파일의 속성을 반환하는 함수이다.

프로토타입

파라미터

파라미터
설명

location

파일의 경로를 나타내는 디렉터리명이다.

filename

파일의 이름이다.

fexists

파일의 존재 여부이다.

file_length

파일의 길이(Byte)이다.

blocksize

파일 시스템의 블록 크기(Byte)이다.

예제

FOPEN

파일을 여는 함수이다. 성공하면 파일 핸들러값을 반환한다.

프로토타입

파라미터

파라미터
설명

location

파일의 경로를 나타내는 디렉터리명이다.

filename

파일의 이름이다.

open_mode

파일 모드이다.파일 모드의 종류는 다음과 같다.

  • r : 읽기 텍스트 모드이다.

  • w : 쓰기 텍스트 모드이다.

  • a : 추가 텍스트 모드이다.

max_linesize

각 라인에 포함되는 byte 수의 최댓값으로 newline 문자를 포함한다.최소 1byte에서 최대 32767bytes이다.(기본값: 1024bytes)

예제

FREMOVE

파일을 삭제하는 함수이다. 파일 삭제에 실패한 경우 UTL_FILE_INVALID_PATH 혹은 UTL_FILE_INVALID_OPERATION exception이 발생한다.

프로토타입

파라미터

파라미터
설명

location

파일의 위치를 나타내는 디렉터리명이다.

filename

파일의 이름이다.

예제

FRENAME

파일의 이름을 변경하는 함수이다. OS 셸에서 사용하는 mv 명령어와 동일하게 동작한다.

프로토타입

파라미터

파라미터
설명

location

원본 파일의 경로를 나타내는 디렉터리명이다.

filename

원본 파일의 이름이다.

dest_dir

변경된 파일의 경로를 나타내는 디렉터리명이다.

dest_file

변경된 파일의 이름이다.

overwrite

변경된 파일의 이름이 이미 존재할 경우 덮어쓸지를 지정한다.

예제

GET_LINE

EOL 문자 또는 파일이 끝날 때까지의 내용을 읽어 오는 함수이다. FOPEN 함수에서 지정한 max_linesize 이상을 읽어 올 수 없다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들러이다.

buffer

읽어 온 데이터이다.

len

파일로부터 읽어 올 Byte의 크기이다.(기본값: NULL, NULL인 경우 max_linesize 값을 갖는다.)

예제

IS_OPEN

파일 핸들러를 통해 파일이 열려 있는지 검사하는 함수이다. 파일이 열려있는 경우 TRUE를 반환하고, 그렇지 않은 경우 FALSE를 반환한다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들러입니다.

예제

NEW_LINE

파일에 하나 이상의 EOL 문자를 넣는 함수이다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들러이다.

lines

파일에 넣을 EOL 문자의 개수이다.

예제

PUT

파일에 문자열을 넣을 때 사용하는 함수이다

프로토타입

파라미터

파라미터
설명

file

파일 핸들러이다.

buffer

파일에 쓸 내용이다. 파일이 w(쓰기 텍스트)나 a(추가 텍스트) 모드로 열리지 않은 경우 UTL_FILE_INVALID_OPERATION exception이 발생한다.

예제

PUT_LINE

한 줄의 텍스트를 파일에 쓰는 함수이다. 이때 라인은 플랫폼에 종속적인 EOL 문자로 끝낸다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들러이다.

buffer

파일에 쓸 라인이다.

autoflush

쓰기를 한 후 출력 버퍼를 비울지 여부를 결정한다.

  • TRUE : 버퍼를 비운다.

  • FALSE : 기본값으로 버퍼를 비우지 않는다.

예제

PUTF

형식화된 PUT 함수이다. PUTF의 형식화된 문자열은 C언어에서 표준 입출력(standard I/O)의 fprintf에서의 형식화된 문자열과 동일하게 %s와 이스케이프 문자를 포함한다. 이스케이프 문자로 \n을 사용할 수 있으며 %s는 그 뒤에 나오는 인수 문자열을 대체한다.

예를 들어 다음과 같은 세 개의 인수가 있다고 가정하면,

위의 세 개의 인수를 사용하는 형식화된 문자열은 다음과 같다.

또한 위의 내용이 실행되면 다음과 같은 내용이 출력 된다.

프로토타입

파라미터

파라미터
설명

file

파일 핸들러이다.

format

%s와 이스케이프 문자(\n)를 포함하는 형식화된 문자열이다.

arg1-5

%s에 대체되는 선택할 수 있는 문자열이다. (기본값: NULL)

예제

Last updated