第一步:首先创建遍历文件夹的 javasource ,这里主要是编写Oracle 可以执行的 Java 代码
代码如下:
createorreplaceandcompilejavasourcenamedfilesystemsas
importjava.io.File;
importjava.util.ArrayList;
publicclassFileSystemS{
publicstaticStringrefreshFileList(StringstrPath){
ArrayListfilelist=newArrayList();
StringfileListName=newString();
Filedir=newFile(strPath);
File[]files=dir.listFiles();
if(files==null){
returnstrPath+"文件目录不存在或者文件目录下没有文件!";
}
for(inti=0;i<files.length;i++){
if(files[i].isDirectory()){
refreshFileList(files[i].getAbsolutePath());
}else{
StringstrFileName=files[i].getAbsolutePath().toLowerCase();
//fileListName+=""+i+":"+strFileName+";";
fileListName+=""+i+":"+files[i].getName()+";";
filelist.add(files[i].getAbsolutePath());
}
}
returnfileListName;
}
}
直接使用Oracle 的 PLSQL 执行,将会生成一个javasource .
第二步:创建调用function ,当然也可以是存储过程。这里我使用函数。
createorreplacefunctionFileTest(sinvarchar)returnvarchar
isLANGUAGEJAVANAME'FileSystemS.refreshFileList(java.lang.String)returnString';
第三步:测试
SELECTFileTest('E:\javaWP')fromdual;