用什么方法判断文件是否存在?

[复制链接]
查看11 | 回复9 | 2007-4-19 13:22:13 | 显示全部楼层 |阅读模式
Begin
file_name := utl_file.Fopen( v_file_root,V_FILE_NAME,'r');
utl_file.fclose(file_name);

EXCEPTION
when others then
v_flag:='False';
END;
如果使用utl_file.这样判断存在问题就是它只能判断在它utl_file_dir的路径下的文件是否存在,如果我要判断任意目录下的文件是否存在要怎么解决呢?
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
还是用命令test -f判断方便,
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
最初由 shahand 发布
[B]还是用命令test -f判断方便, [/B]

怎么用,有返回值吗?
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
最初由 Kamus 发布
[B]In the past (this means 8i), accessible directories for the UTL_FILE functions were specified in the initialization file using the UTL_FILE_DIR parameter. In 9i, UTL_FILE_DIR access is not recommended. It is recommended that you use the CREATE DIRECTORY feature, which replaces UTL_FILE_DIR. [/B]

虽然可以这样,但判断文件的存在还是不方便
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
test 是shell命令,在存储过程里不能用的
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
用JAVA存储过程
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
关注一下。
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
8i时用过java procedure方式,很好用,不过当目录或文件名有中文的话可能会有些问题(很久以前的事了,现在估计没这问题了).
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
最初由 forestjohn 发布
[B]8i时用过java procedure方式,很好用,不过当目录或文件名有中文的话可能会有些问题(很久以前的事了,现在估计没这问题了). [/B]

怎么个用法,能详细说一下吗?
回复

使用道具 举报

千问 | 2007-4-19 13:22:13 | 显示全部楼层
最初由 sunnly 发布
[B]
怎么个用法,能详细说一下吗? [/B]

1.先用java写一个class: test,并实现一个判断文件状态的方法FileExist
2.使用 loadjava命令(oracle自带)把编译过的class加载到数据库里
3.创建一个java function:
CREATE FUNCTION file_exist(a_file VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'test.FileExist(java.lang.String') return java.lang.String';
4.使用file_exist的方法就与一般的oracle函数没什么区别了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行