java如何里将文件存到数据库中
	
    
    
	public class InsertBlobData { 
Connection con = null; 
/** 
* @param args 
* @throws Exception 
*/ 
public static void main(String[] args) throws Exception { 
// TODO Auto-generated method stub 
InsertBlobData data = new InsertBlobData(); 
data.insertBlogInfo("002jpg", "sdsdfdf", "2007-02-12", "002.jpg"); 
} 
public void insertBlogInfo(String jmzh, String xm, String smsj, 
String fileName) throws Exception { 
// try { 
con = ConnectionPoliceFactory.getFactory().getConnection(); 
// } catch (ClassNotFoundException e) { 
// // TODO Auto-generated catch block 
// e.printStackTrace(); 
// } 
// 处理事务 
boolean defaultCommit = con.getAutoCommit(); 
con.setAutoCommit(false); 
Statement st = con.createStatement(); 
// 插入一个空对象 
st.executeUpdate("insert into ksren_txxx(jmzh,xm,smsj,txsj) values('" 
+ jmzh + "','" + xm + "',to_date('" + smsj 
+ "','yyyy-mm-dd'),empty_blob())"); 
// 用for update方式锁定数据行 
ResultSet rs = st 
.executeQuery("select txsj from ksren_txxx where jmzh='" 
+ jmzh + "' and xm='" + xm + "' for update"); 
if (rs.next()) { 
// 得到java.sql.Blob对象,然后Cast为oracle.sql.BLOB 
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1); 
// 到数据库的输出流 
OutputStream outStream = blob.getBinaryOutputStream(); 
// 这里用一个文件模拟输入流 
InputStream fin = new FileInputStream(new File(fileName)); 
// 将输入流写到输出流 
byte[] b = new byte[blob.getBufferSize()]; 
int len = 0; 
while ((len = fin.read(b)) != -1) { 
outStream.write(b, 0, len); 
// blob.putBytes(1,b); 
} 
// 依次关闭(注意顺序) 
fin.close(); 
outStream.flush(); 
outStream.close(); 
con.commit(); 
/* 恢复原提交状态 */ 
con.setAutoCommit(defaultCommit); 
con.close(); 
} 
} 
}
    
     
	
	
    
    
	相关文档:
        
    
    
一、什么是Java事务
  通常的观念认为,事务仅与数据库相关。
  事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败 ......
	
    
        
    
    一 线程的基本概念
线程是一个程序内部的顺序控制流.一个进程相当于一个任务,一个线程相当于一个任务中的一条执行路径.;多进程:在操作系统中能同时运行多个任务(程序);多线程:在同一个应用程序中有多个顺序流同时执行;Java的线程是通过java.lang.Thread类来实现的;JVM启动时会有一个由主方法(public static void main( ......
	
    
        
    
    一般来说,我们把正在计算机中执行的程序叫做"进程"(Process) ,而不将其称为程序(Program)。所谓"线程"(Thread),是"进程"中某个单一顺序的控制流。新兴的操作系统,如Mac,Windows NT,Windows 95等,大多采用多线程的概念,把线 程视为基本执行单位。线程也是Java中的相当重要的组成部分之一。 
甚至最简单的Applet也是由多个线 ......
	
    
        
    
    /*
Function name:    myGetHttpFile2
Description:      爬网页用
Input:            URL 例如:http://www.126.com
Output:           字符串,网页的HTML
*/  
public String myGetHttpFile2(String url){
    String authentication=null;
    ArrayList al=new ArrayList();
    String PageURL = url;
       ......
	
    
        
    
    来个简单点的:
1.建个具体的服务实现:
package com.webservice;
@WebService
public class Warehouse {
 private Map<String, Double> prices;
 public Warehouse() {
  prices = new HashMap<String, Double>();
  prices.put("Blackwell Toaster", 24.95);
 & ......