java实现数据库的数据写入到txt的方法
本文讲解如何用java实现把数据库的数据写入到txt中并实现类似下载软件的样子在网页中弹出下载.
packagedatatest;
importjava.io.BufferedOutputStream;
importjava.io.IOException;
importjava.io.UnsupportedEncodingException;
importjava.net.URLEncoder;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjavax.servlet.ServletException;
importjavax.servlet.ServletOutputStream;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importbean.ConnDB;
publicclassexportextendsHttpServlet{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//设置编码
response.setCharacterEncoding("UTF-8");
//连接数据库
ConnDBconn=newConnDB();
ServletOutputStreamoutputstream=null;
BufferedOutputStreambuffoutputstream=null;
Stringtxt_name="导出的txt文件名.txt";//导出的txt文件名
try{
response.reset();//清空输出流
response.setContentType("text/plain;charset=utf-8");
//设置txt文件名称编码,防止中文乱码
response.setHeader("Content-disposition","attachment;filename="+URLEncoder.encode(txt_name,"UTF-8"));
StringBufferwrite=newStringBuffer();
outputstream=response.getOutputStream();
buffoutputstream=newBufferedOutputStream(outputstream);
//根据id查询数据库
intid=Integer.parseInt(request.getParameter("id"));
Stringsql="selecta.id,name,account,password";
sql+="fromtest_ranka";
sql+="leftjointest_joinbonb.id=a.idwherea.id="+id;
ResultSetrs=conn.doQuery(sql);
Stringcontent="";
try{
while(rs.next())
{
//把数据库中读取的数据写入
content=rs.getString("name")+"\r\n";//在txt中换行为\t\n
write.append(content);
content=rs.getString("account")+"\r\n";
write.append(content);
break;
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//write.append(content);
//设置编码防止中文乱码
Stringstr=newString(write.toString().getBytes(),"gbk");
buffoutputstream.write(str.toString().getBytes("gbk"));
buffoutputstream.flush();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
finally{
if(outputstream!=null)
try{
outputstream.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
if(buffoutputstream!=null)
try{
buffoutputstream.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
this.doGet(request,response);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。