易截截图软件、单文件、免安装、纯绿色、仅160KB

java操作oracle数据库中的blob字段

oracle中的BLOB字段是存储2进制的文件,比如文件,图片等。
1、把本地文件写入数据库
package com.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class WriteBlob {
/**
* beckham 2009-12-7 下午09:47:36
*/
public static void main(String[] args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@localhost:1521:menhu";
String user = "zm";
String password = "zm";
Connection conn = DriverManager.getConnection(url, user, password);
// 设置手动提交
conn.setAutoCommit(false);
Statement sta = null;
ResultSet rs = null;
PreparedStatement ps = null;
// 插入空值
String sql = "insert into mytest values(3,empty_blob()) ";
sta = conn.createStatement();
sta.executeUpdate(sql);
conn.commit();
// 锁定并编辑当前数据
sql = "select images from mytest where id=3 for update";
rs = sta.executeQuery(sql);
if (rs.next()) {
oracle.sql.BLOB b = (oracle.sql.BLOB) rs.getBlob("images");
// 输入流
OutputStream os = b.getBinaryOutputStream();
// 输出流
FileInputStream fiis = new FileInputStream(new File("1.doc"));
// 入库
byte[] tmp = new byte[1024];
int a = 0;
while ((a = fiis.read(tmp)) != -1) {
os.write(tmp, 0, a);
os.flush();
}
os.close();
fiis.close();
}
conn.commit();
rs.close();
sta.close();
conn.close();
}
}
 
2、从数据库中读取Blob字段数据
package com.data;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ReadBlob {
/**
* beckham 2009-12-8 下午03:49:30
*/
public static void main(String[] args) throws Exception


相关文档:

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

java使用rocksaw和vserv tcpip实现基于ICMP的Ping功能

一:准备 www.savarese.org download
 1.  rocksaw-1.0.0-src.tar.gz
 2.  vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
 1.  build vserv-tcpip-0.9.2-src
      在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......

欲为Java技术大牛所需的25个学习要点

1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。
2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localiza ......

java 随机产生字符串

转自 : http://hi.baidu.com/samuel_vong/blog/item/95471f7e2cdab33d0cd7dad1.html
/**
   * 产生随机字符串
   * */
private static Random randGen = null;
private static char[] numbersAndLetters = null;
private static Object initLock = new Object();
public static final Strin ......

Java学习笔记⑤ Java虚拟机的工作原理 (二)

八、堆
     当Java程序创建一个类的实例或者数组时,都在堆中为新的对象分配内存。虚拟机中只有一个堆,所有的线程都共享它。
     1、垃圾收集(Garbage Collection)
     垃圾收集是释放没有被引用的对象的主要方法。它也可能会为了减少堆的碎片,而移 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号