alexandria-plsql-utils/ora/file_util_pkg.pks
2015-02-20 19:43:42 +01:00

95 lines
3.3 KiB
Plaintext
Executable File

create or replace package file_util_pkg
as
/*
Purpose: Package contains file utilities
Remarks:
Who Date Description
------ ---------- --------------------------------
MBR 01.01.2005 Created
MBR 18.01.2011 Added blob/clob operations
*/
-- operating system types
g_os_windows constant varchar2(1) := 'w';
g_os_unix constant varchar2(1) := 'u';
g_dir_sep_win constant varchar2(1) := '\';
g_dir_sep_unix constant varchar2(1) := '/';
g_file_ext_sep constant varchar2(1) := '.';
-- file open modes
g_file_mode_append_text constant varchar2(1) := 'a';
g_file_mode_append_byte constant varchar2(2) := 'ab';
g_file_mode_read_text constant varchar2(1) := 'r';
g_file_mode_read_byte constant varchar2(2) := 'rb';
g_file_mode_write_text constant varchar2(1) := 'w';
g_file_mode_write_byte constant varchar2(2) := 'wb';
g_file_name_def varchar2(2000);
subtype t_file_name is g_file_name_def%type;
g_file_ext_def varchar2(50);
subtype t_file_ext is g_file_ext_def%type;
g_dir_sep_def varchar2(1);
subtype t_dir_sep is g_dir_sep_def%type;
-- resolve filename
function resolve_filename (p_dir in varchar2,
p_file_name in varchar2,
p_os in varchar2 := g_os_windows) return varchar2;
-- extract filename
function extract_filename (p_file_name in varchar2,
p_os in varchar2 := g_os_windows) return varchar2;
-- get file extension
function get_file_ext (p_file_name in varchar2) return varchar2;
-- strip file extension
function strip_file_ext (p_file_name in varchar2) return varchar2;
-- get filename string (no whitespace)
function get_filename_str (p_str in varchar2,
p_extension in varchar2 := null) return varchar2;
-- get blob from file
function get_blob_from_file (p_directory_name in varchar2,
p_file_name in varchar2) return blob;
-- get clob from file
function get_clob_from_file (p_directory_name in varchar2,
p_file_name in varchar2) return clob;
-- save blob to file
procedure save_blob_to_file (p_directory_name in varchar2,
p_file_name in varchar2,
p_blob in blob);
-- save clob to file
procedure save_clob_to_file (p_directory_name in varchar2,
p_file_name in varchar2,
p_clob in clob);
-- save clob to file (raw)
procedure save_clob_to_file_raw (p_directory_name in varchar2,
p_file_name in varchar2,
p_clob in clob);
-- does file exist?
function file_exists (p_directory_name in varchar2,
p_file_name in varchar2) return boolean;
-- format bytes
function fmt_bytes (p_bytes in number) return varchar2;
end file_util_pkg;
/