JDBC读取文件(CLOB)
上一篇文章《JDBC保存文件(CLOB)》,我们使用PreparedStatement接口把文件存储到MySQL数据库中。
本文介绍使用JDBC从MySQL数据库把文件内容读取出来,并保存到本地硬盘。
PreparedStatement的getClob() 方法用于从数据库中获取文件信息。
1 PreparedStatement的getClob()方法
public Clob getClob(int columnIndex){}
2 JDBC读取文件的示例
2.1 确保文件已经存储在表中
上篇文章,我们已经把文件存储到file_test表,具体可以查看:《JDBC保存文件(CLOB)》
2.2 编写RetrieveFile
package com.yiidian;
import java.io.*;
import java.sql.*;
/**
* 一点教程网 - http://www.yiidian.com
*/
public class RetrieveFile {
public static void main(String args[])throws Exception {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "root");
PreparedStatement ps=con.prepareStatement("select * from file_test");
ResultSet rs=ps.executeQuery();
rs.next();
Clob c=rs.getClob(3);
Reader r=c.getCharacterStream();
FileWriter fw=new FileWriter("d:\\upload\\retrivefile.txt");
int i;
while((i=r.read())!=-1)
fw.write((char)i);
fw.close();
con.close();
}catch(Exception e){
System.out.println(e);
}
}
}
2.3 运行测试
执行完上面的RetrieveFile类后,查看d:/upload/目录,结果如下:
可以打开文件查看内容是否正确。
热门文章
优秀文章