第一种情况: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) {