oracle调用java类遍历磁盘文件
利用oracle自带的utl_file包可以访问磁盘文件,但有个限制--无法访问文件夹?什么意思呢?就是说oracle只能访问指定的文件,而不能访问文件夹下的未知文件。所以,如果要通过oracle去遍历某指定路径下的所有文件,sorry, impossible! 但是,有一种替代方案可以助你一臂之力!
众所周知java之File类指向的可以是目录也可以是文件,如果指向目录,可以用file.list()找到包含的文件及目录,so that,我可以用java来遍历文件,然后返回一个值给oracle再进行后续操作。
Come on, let's talk about this case!
oracle调用java可以分三个步骤:
第一步:在PLSQL客户端里写java代码(类及方法),实现oracle无法做的工作或你想要让java做的工作;
--功能:返回所有文件字段串
create or replace and compile java source named file_list as
import java.io.File;
public class file_list
{
public static String entry(String path)
{
StringBuffer resultBuffer = new StringBuffer();
try{
File file = new File("I:\\"+path);
resultBuffer.append(file.getAbsolutePath());
String[] files = file.list();
resultBuffer.append("----");
for(int i=0; i<files.length; i++){
StringBuffer fileStr = new StringBuffer("<P align='center'><IMG src="http://www.qdda.gov.cn/");
fileStr.append(path.replace(" mce_src="http://www.qdda.gov.cn/");
fileStr.append(path.replace("\\', '/'));
fileStr.append(files[i]);
fileStr.append("'></P>");
resultBuffer.append(fileStr.toString());
}
}catch(Exception ex){
resultBuffer.append("----");
resultBuffer.append(ex);
}
return resultBuffer.toString();
}
}
第二步:写oracle函数(function),调用java类方法;
create or replace function func_file_list(path in varchar2) return varchar2 as
language java name 'file_list.entry(java.lang.String) return java.lang.String' ;
第三步:写oracle存储过程(procedure)或客户端调用程序;
create or replace procedure proce_transfer_
相关文档:
Eclipse中默认是输入"."后出现自动提示,用于类成员的自动提示,可是有时候我们希望它能在我们输入类的首字母后就出现自动提示,可以节省大量的输入时间(虽然按alt + /会出现提示,但还是要多按一次按键,太麻烦了)。
从Window -> preferences -> Java -> Editor -> Content assist - ......
每个Java初学者都应该明白的问题
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
问题一:我声明了什么!
String s = "Hello world!";
许多人都做过这样的 ......
本文介绍的JAVA规则的说明分为5个级别,级别1是最基本也是最重要的级别,在今后将陆续写出其他的规则。遵守了这些规则可以提高程序的效率、使代码有更好的可读性等。
(1) 避免使用NEW关键字来创建String对象。
把一个String常量copy到String 对象中通常是多余、浪费时间的
Public class test{
&nbs ......
Java Web开发中,有许多共通的问题,是开发人员在开发过程中一定会遇到的,需要处理的问题:
1. 乱码问题
为何会出现乱码问题?既然有乱码问题,肯定是由于编码设置的不一致导致的。在Web开发
过程中,涉及以下一些编码设置,客户端参数的编码设置,Web服务器的编码设置,服务器端应用程序的编码设置,数据库 ......
Java中通过implements Serializable来实现对象的序列化。其实Serializable接口中并没有需要实现的方法,注明某个类implements Serializable只是为了标识或表明这个类可以被序列化。
那么什么是序列化呢,序列化又有什么作用呢?
一个类,或 ......