java中的接口是类吗
224
2023-07-27
JDBC编程实现文件、图片的存储方法
本文实例讲述了JDBC编程实现文件、图片的存储方法。分享给大家供大家参考,具体如下:
/*
实现的功能:
用数据库存储文本数据,并且读取出来放在当前项目里
分析:
难度不是很大,关键是掌握文件流,数据库的操作不是很多,但是文件流的读写比较多
日期:20131003
*/
public class Ckb_test {
public static void main(String[] args) throws SQLException, IOException {
// TODO Auto-generated method stub
read();
}
static void create() throws SQLException, IOException
{
Connection conn=null;
PreparedStatement prest=null;
ResultSet resultset=null;
try {
//2.建立连接
conn=JdbcUtils.getConnection();
//单例设计模式
conn=JdbcUtilsSingle.getInstance().getConnection();
//3.创建语句
String sql="insert into ckb_test(text) values(?)";
prest=conn.prepareStatement(sql);
File file=new File("src/cn/com/JDBC/JdbcUtils.java");
Reader reader=new BufferedReader(new FileReader(file));
prest.setCharacterStream(1, reader, (int)file.length());
//4.执行语句
int i=prest.executeUpdate();
reader.close();
System.out.println("i="+i);
} finally
{
JdbcUtils.free(resultset, prest, conn);
}
}
static void read() throws SQLException, IOException
{
Connection conn=null;
Statement st=null;
ResultSet resultset=null;
try {
//2.建立连接
conn=JdbcUtils.getConnection();
//单例设计模式
conn=JdbcUtilsSingle.getInstance().getConnection();
//3.创建语句
st=conn.createStatement();
//4.执行语句
resultset=st.executeQuery("select text from ckb_test");
//5.处理结果
while(resultset.next())
{
Clob clob=resultset.getClob(1);
Reader reader=clob.getCharacterStream();
//reader=resultset.getCharacterStream(1);
File file=new File("JdbcUtils.java");
Writer writer=new BufferedWriter(new FileWriter(file));
char[] buff=new char[1024];
for(int i=0;(i=reader.read(buff))>0;)
{
writer.write(buff,0,i);
}
writer.close();
reader.close();
}
} finally
{
JdbcUtils.free(resultset, st, conn);
}
}
}
/*
实现的功能:
用数据库存储图片数据,并且读取出来放在当前项目里
分析:
难度不是很大,关键是掌握字节流,数据库的操作不是很多,但是文件流的读写比较多,注意更改图片的目录
日期:20131003
*/
public class PictureBlob {
public static void main(String[] args) throws SQLException, IOException {
read();
}
static void create() throws SQLException, IOException
{
Connection conn=null;
PreparedStatement prest=null;
ResultSet resultset=null;
try {
//2.建立连接
conn=JdbcUtils.getConnection();
//单例设计模式
conn=JdbcUtilsSingle.getInstance().getConnection();
//3.创建语句
String sql="insert into blob_test(big_bit) values(?)";
prest=conn.prepareStatement(sql);
File file=new File("C:\\Documents and Settings\\Administrator\\My Documents\\My Pictures\\cxg.jpg");
InputStream in=new BufferedInputStream(new FileInputStream(file));
prest.setBinaryStream(1, in, (int)file.length());
//4.执行语句
int i=prest.executeUpdate();
in.close();
System.out.println("i="+i);
} finally
{
JdbcUtils.free(resultset, prest, conn);
}
}
static void read() throws SQLException, IOException
{
Connection conn=null;
Statement st=null;
ResultSet resultset=null;
try {
//2.建立连接
conn=Jdbhttp://cUtils.getConnection();
//单例设计模式
conn=JdbcUtilsSingle.getInstance().getConnection();
//3.创建语句
st=conn.createStatement();
//4.执行语句
resultset=st.executeQuery("select big_bit from blob_test");
//5.处理结果
while(resultset.next())
{
Blob blob=resultset.getBlob(1);
InputStream in=blob.getBinaryStream();
//reader=resultset.getCharacterStream(1);
File file=new File("1.jpeg");
OutputStream out=new BufferedOutputStream(new FileOutputStream(file));
byte[] buff=new byte[1024];
for(int i=0;(i=in.read(buff))>0;)
{
out.write(buff,0,i);
}
out.close();
in.close();
}
} finally
{
JdbcUtils.free(resultset, st, conn);
}
}
}
希望本文所述对大家Java程序设计有所帮助。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~