第一種情況:java讀取寫入圖片。
本想找點代碼測試一下在SQL Server中存取圖片的方法, 結果狂搜之後才發現,不是基於在jsp中的應用,就是本身過程太複雜,今天,突然看到一篇java實現資料庫圖片儲存的文章,學java好象也有一年了,學jdbc也很長時間了,可是這方面還沒寫過呢。就參考了網上的幾篇文章,寫了一個下午。終於寫好了。現在把代碼貼出來。以供大家參考。
代碼絕對可以運行,在我的機器是啟動並執行結果完全正確。
我的機器是jdk1.5+winxp+eclipse
package cn;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class PhotoDemo {
/**
* @param args
*/
Connection conn=null;
public PhotoDemo() {
try {
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=master";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn= DriverManager.getConnection(url,"sa","xiaoxin");
}
catch(SQLException e) {
e.printStackTrace();
}
catch(ClassNotFoundException ce) {
ce.printStackTrace();
}
}
public void Insert() {
try {
String sql="insert into picture values(?,?)";
PreparedStatement ps=conn.prepareStatement(sql);
File f =new File("E:/PHOTO/baby/1.jpg");
FileInputStream input= new FileInputStream(f);
ps.setString(1,"cute");
ps.setBinaryStream(2, input,(int)f.length());
ps.executeUpdate();
ps.close();
input.close();
}
catch(SQLException e) {
e.printStackTrace();
}
catch(IOException ie) {