http://www.csdn.net/Expert/TopicView.asp?id=83096&datebasetype=200101
解决方案 »
- 怎样模拟TCP连接断开?
- JDBC数据库连接异常
- 在main方法中System.exit(0)与return 有什么区别???
- 垃圾回收为什么是2个对象?
- 结交tapestry的朋友。
- JAVA图形应用程序自动退出的问题,请大家帮忙。
- 为什么抓不到这个异常?
- 一本书上说,一个.java文件中必须有一个public类,但事实好像并不需要一个public类的
- 用java怎么实现下载一个扩展名是exe或msi的 文件啊!
- Why!Why!Why!Why!Why!Why!
- 怎样得到系统日期?
- 请问高手,在cmp2.0中,finder和select方法有什么不同呀,它们一般分别在什么场所使用?(80分)
import java.sql.*;
import java.io.*;
import java.util.*;
import oracle.jdbc.driver.*;//needed for new CLOB and BLOB classes
import oracle.sql.*;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2002
* Company:
* @author yukm
* @version 1.0
*/public class TestOracle { static void readFromFile (BLOB blob,File file) throws Exception {
File binaryFile = file;
FileInputStream in = new FileInputStream(binaryFile);
OutputStream out = blob.getBinaryOutputStream();
int chunk = blob.getChunkSize();
System.out.print("The chunk size is " + chunk);
byte [] buffer = new byte[chunk ];
int length;
while ((length = in.read(buffer)) != -1)
out.write(buffer, 0, length);
in.close();
out.close();
}
static void writeToFile (BLOB blob,File file) throws Exception {
int chunk = blob.getChunkSize();
byte[] buffer = new byte[chunk];
int length;FileOutputStream outFile = null;
outFile = new FileOutputStream(file);
InputStream instream = blob.getBinaryStream();while ((length = instream.read(buffer)) != -1) {
outFile.write(buffer, 0, length);
}
instream.close();
outFile.close();
}
public static void main(String args[]){
try {
Driver drv=new oracle.jdbc.driver.OracleDriver();
Properties props=new Properties();
props.put("user","system");
props.put("password","manager");
Connection con=drv.connect("jdbc:oracle:thin:@168.200.8.25:1521:TEST",props);
con.setAutoCommit(false);
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("SELECT * FROM music");
while(rs.next())
{
System.out.println(rs.getString("NAME"));
}
rs.close();
BLOB blob=null;
st.execute("INSERT INTO music VALUES('家家有本难念的经',3,'../music/jiajiayoubennianniandejing.mp3',empty_blob())");
st.execute("COMMIT");
rs=st.executeQuery("SELECT * FROM music WHERE ID=3 FOR UPDATE");
while(rs.next())
{
blob = ((OracleResultSet)rs).getBLOB("CONTENT");
// blob=(BLOB)rs.getBlob("CONTENT");
}
File file=new File("d:\\mypic.jpg");
readFromFile(blob,file);
file=new File("d:\\mypic1.jpg");
writeToFile(blob,file); con.close();
}catch (Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
}