发布于 2016-07-23 03:17:15 | 91 次阅读 | 评论: 0 | 来源: 网友投递
Java程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))的总称。
本文实例讲述了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=JdbcUtils.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程序设计有所帮助。