--定义文件对象' t- [1 N6 W, J, S
myfile utl_file.file_type;" \) d. p7 r) e- h8 U2 j
--定义变量 用来存储每读出一行的数据
, Y# e9 |8 v, }: E" B4 p0 E linestr varchar2(200);0 O- ~& t6 n& B$ @8 k! d7 R
begin1 t. B' p* n/ [& |! x
--打开文件/ B5 X4 w. b' O- Y7 w
myfile:= utl_file.fopen('MY_DIR','oracle.log','r');
4 c- U5 t6 Q9 ? --进行读取(循环)
2 ~0 X8 v+ H8 F9 K: @$ i loop/ |. ^( R2 p2 w4 Z. [
utl_file.get_line(myfile,linestr);& X, R9 T1 d& T% r# D9 n
dbms_output.put_line(linestr);8 ]% c, |% g; M
end loop;- O' C1 S8 G0 v, {& j
exception
, i3 ]: H! G% a0 A& q G when others then* u8 i( T( B D; K7 n5 d/ U9 z( M: ^0 b
utl_file.fclose(myfile);! z1 i4 F2 g/ A# z
dbms_output.put_line('读取完毕!');$ t: R4 S5 B; h! {/ H& ?
end;
+ `. }) s7 ]3 K6 [) a( I7 k6 f, A9 M declare/ N* z D# ^7 ]
--定义文件对象4 V+ M9 O/ p1 `* A6 f; `2 w) |" X
myfile utl_file.file_type;5 V% c9 ^* |, t( O
--定义变量 用来存储每读出一行的数据
' `& A/ @2 c) C9 `6 n# q linestr varchar2(200);
0 o: w) r- Y; D: w$ }: [6 P7 W& t begin2 S& n: R+ w" \ l* s
--打开文件
+ c5 J5 F5 L7 v3 [3 Q' R; n myfile:= utl_file.fopen('MY_DIR','oracle.log','a');
, U6 ^5 f4 t+ y* i( s --追加数据 E- Q; r! g6 r( i2 O
--utl_file.get_line(myfile,linestr);
, c8 a; {+ a2 t utl_file.put_line(myfile,'你好,这是新的数据',true);2 q8 x4 ?# M* ?8 q/ L
utl_file.fclose(myfile);
2 M( s( g ]7 s7 @6 v, t exception+ h K: h- Z9 Y& Y/ b8 Z$ X4 |! I$ u
when others then, s- |0 m2 R7 M2 i7 |
utl_file.fclose(myfile);: {( o: b" S5 g# k
dbms_output.put_line('读取完毕!');
8 v) {" Y) P! B: b end;7 t& O" W% q' a' W( n
--拷贝
3 v8 a# U# [/ j$ c8 b declare& j* ?) h8 k' r: ]2 T) d
--定义文件对象4 p9 p- O3 K3 @6 |! I7 w5 R' ~
sourcefile utl_file.file_type;, T/ A0 a" k" l1 q& @7 `9 |7 i
targetfile utl_file.file_type;
# G% X$ j" g6 v: y& ~; n' z$ q( g --定义变量 用来存储每读出一行的数据
5 R6 X; C' C! ^. Z9 y linestr varchar2(200);. @, e3 B5 j0 g( [4 Y
begin
4 z7 I! Q+ n6 M3 ], y- K# f+ I --打开文件' Y7 }" o2 _/ m" S$ e, F
sourcefile:= utl_file.fopen('MY_DIR','oracle.log','r');, d$ S Y# W/ p8 _8 L
targetfile:= utl_file.fopen('MY_DIR2','copy.txt','a');9 [( N2 T6 \* u, J b) |
--进行读取(循环) 并且写入到新的文件里面2 X" e% q3 E' a% T5 E4 W- A
loop0 G5 ^: Q: h# m& o3 C& K
utl_file.get_line(sourcefile,linestr);% B7 N& V/ E" o7 L) C
utl_file.put_line(targetfile,linestr,true);5 m/ Z2 ^7 d' f; W5 \/ j; p
-- dbms_output.put_line(linestr);. D" R4 s1 ~" r# I9 C4 `
end loop;: N& t ], I4 A& U1 z2 B& R
exception
; X1 c" Q8 O! R d when others then- x! q, B6 B2 D$ ~( o6 n: a
utl_file.fclose(sourcefile);
; @+ ~; J; z) G: _/ { utl_file.fclose(targetfile);0 D" u' @8 J' p+ O8 i. ?
dbms_output.put_line('拷贝完毕!');; p1 U/ m* Z/ ~1 g, ^; p' Y
end; |