本文讲解如何用java实现把数据库的数据写入到txt中 并实现类似下载软件的样子在网页中弹出下载.
package datatest;import java.io.BufferedOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.sql.ResultSet;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import bean.ConnDB;public class export extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //设置编码 response.setCharacterEncoding("UTF-8"); //连接数据库 ConnDB conn = new ConnDB(); ServletOutputStream outputstream = null; BufferedOutputStream buffoutputstream = null; String txt_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")); StringBuffer write = new StringBuffer(); outputstream=response.getOutputStream(); buffoutputstream = new BufferedOutputStream(outputstream); //根据id查询数据库 int id=Integer.parseInt(request.getParameter("id")); String sql = "select a.id,name,account,password "; sql+="from test_rank a "; sql+="left join test_join b on b.id=a.id where a.id="+id; ResultSet rs = conn.doQuery(sql); String content=""; 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 (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //write.append(content); //设置编码 防止中文乱码 String str = new String(write.toString().getBytes(),"gbk"); buffoutputstream.write(str.toString().getBytes("gbk")); buffoutputstream.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (outputstream != null) try { outputstream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (buffoutputstream != null) try { buffoutputstream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1142
183.71 KB下载数642
644.84 KB下载数2755
相关文章
发现更多好内容猜你喜欢
AI推送时光机java实现数据库的数据写入到txt的方法
后端开发2023-05-31
Java将Excel数据导入到数据库的方法
后端开发2023-05-30
Java实现批量向mysql写入数据的方法
后端开发2023-05-30
Java Excel数据导入数据库的方法
后端开发2024-04-02
python中sqllite插入numpy数组到数据库的实现方法
后端开发2022-06-02
数据库同步到Redis的实现方法
后端开发2024-04-02
使用Spring Batch如何实现将txt文件写入数据库
后端开发2023-05-31
mysql导入txt文本数据的方法
后端开发2024-04-02
Android批量插入数据到SQLite数据库的方法
后端开发2022-06-06
阿里云数据库无法写入数据的解决方法
后端开发2023-12-30
mysql数据库实现插入千万级数据的方法
后端开发2024-04-02
oracle数据库导入TXT文件方法介绍
后端开发2023-05-31
Android 数据库SQLite 写入SD卡的方法
后端开发2022-06-06
numpy写入数据库的方法是什么
后端开发2023-10-21
C++文件的数据写入和文件的数据读取的方法实现
后端开发2024-04-02
Java实现同步枚举类数据到数据库
后端开发2022-11-13
Android编程实现向SD卡写入数据的方法
后端开发2022-06-06
Android实现将已发送的短信写入短信数据库的方法
后端开发2022-06-06
Android实现读写JSON数据的方法
后端开发2022-06-06
抽取oracle数据到mysql数据库的实现
后端开发2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧