java. oracle 存储文件,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
StringBuffer fileStr = new StringBuffer("
fileStr.append(path.replace(" mce_src="http://www.qdda.gov.cn/");
fileStr.append(path.replace("\\', '/'));
fileStr.append(files[i]);
fileStr.append("'>
");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_
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java. oracle 存储文件,oracle调用java类遍历磁盘文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ 将文件内容输出到word上_原来
- 下一篇: 根据id 隐藏_明星ID价值四位数?吃鸡