首先建立测试数据表
drop table filelist;
commit;
CREATE TABLE SYSTEM。FILELIST (
"FILENAME" VARCHAR2(50) NOT NULL,
"FILESIZE" NUMBER(20) NULL,
"FILEBODY" BLOB NULL,
PRIMARY KEY("FILENAME"), UNIQUE("FILENAME")) ;
commit;
测试过程,首先将硬盘文件读入数据库,然后再读出到硬盘的另一个新文件里,原码如下:
import java。
io。*;
import java。util。*;
import java。sql。*;
import oracle。sql。*;
import oracle。jdbc。driver。*;
import java。text。*;
public class test
{
public static void main(String args[]) throws java。
io。IOException,java。sql。SQLException
{
dbBean db1=new dbBean();
/**
*这里是我的数据联接Bean
*大家可以用自己的连接Bean
*/
byte a[]=null;//**将测试文件test。
doc读入此字节数组
java。io。FileInputStream fin=null;
java。io。FileOutputStream fout=null;
oracle。jdbc。OracleResultSet ors=null;//**这里rs一定要用Oracle提供的
oracle。
jdbc。driver。OraclePreparedStatement
opst=null;//**PreparedStatement用
//Oracle提供的
try
{
java。io。File f1=new java。io。File("c:/temp/test。
doc");
java。io。File f2=new java。io。File("c:/temp/testout。doc");//**从BLOB读出的信息写
//入该文件,和源文件对比测试用
fin=new java。io。FileInputStream(f1);
fout=new java。
io。FileOutputStream(f2);
int flength=(int)f1。length();//**读入文件的字节长度
System。out。println("file length::"+flength);
a=new byte[flength];
int i=0;int itotal=0;
/**将文件读入字节数组
for (;itotal。
全部