您的位置:首页 > 其它

JDBC-文本文件的存储与读取

2016-07-30 16:40 218 查看
实例演示:

/*
*@Author swxctx
*@time 2016年7月22日
*/

/*存储与读取文本文件*/
package base.jdbc;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.sql.Clob;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;

public class jd_text {

public static void main(String[] args) throws SQLException, IOException, ClassNotFoundException {
// TODO Auto-generated method stub

//create();//写入
read();//读取
}

//添加数据
static void create() throws ClassNotFoundException, SQLException, IOException{
Connection conn=null;//建立连接
PreparedStatement ps=null;//创建语句
ResultSet rs=null;//执行语句
try {
// Class.forName("com.mysql.jdbc.Driver");//注册驱动
conn=tools.getConnection();//建立连接

String creat="insert into jtext(big_text) values(?)";
ps=(PreparedStatement) conn.prepareStatement(creat);//建立语句

File file=new File("src/sw.txt");//读取文件
Reader reader=new BufferedReader(new FileReader(file));
ps.setCharacterStream(1, reader, (int)file.length());//装载

//新增记录(执行语句)
int i=ps.executeUpdate();
reader.close();//关闭文件

if(i==1){
System.out.println("Success...");
}
else{
try {
System.out.println("Failed...");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}finally{//释放资源
tools.free(rs, ps, conn);
}
}
//读取数据
static void read() throws SQLException, ClassNotFoundException, IOException{
Connection conn=null;//建立连接
Statement st=null;//创建语句
ResultSet rs=null;//执行语句
try {
Class.forName("com.mysql.jdbc.Driver");//注册驱动
conn=tools.getConnection();//建立连接
st=conn.createStatement();//建立语句

rs=st.executeQuery("select big_text from text");//执行语句

//处理结果
while(rs.next()){
Clob clob=rs.getClob("big_text");//读取出
Reader reader=clob.getCharacterStream();//读出到reader
//reader=rs.getCharacterStream(1);
// String xc=rs.getString(1);//String没有大小限制
File file=new File("xc.txt");
Writer writer=new BufferedWriter(new FileWriter(file));//另存到文件
char[] buffer=new char[1024];//定义缓冲区
for(int i=0;(i=reader.read(buffer))>0;){
writer.write(buffer, 0, i);//写入
}
writer.close();//关闭
reader.close();
}
}finally{//释放资源
tools.free(rs, st, conn);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: