java读取txt文件,导出txt文件信息方法实例介绍。
- 第一种形式,是以流的方式直接response,适用于数据量不是很大的情况下。
- 第二种形式,是先将要下载的文件写到后台的一个文件或者excel 中,然后再进行下载。
第一种实现:
- private void writeCuHmToTxt(List<Object[]> list) throws Exception {
- HttpServletResponse response = this.getResponse();
- response.reset();
- this.getResponse().setContentType(“text/plain”);
- String fileName = URLEncoder.encode(“非移动用户”, ”UTF-8″);
- this.getResponse().setHeader(“Content-Disposition”,”attachment; filename=” + fileName + ”.txt”);
- BufferedOutputStream buff = null;
- StringBuffer write = new StringBuffer();
- //String tab = ” ”;
- String enter = ”\r\n”;
- ServletOutputStream outSTr = null;
- try {
- outSTr = response.getOutputStream(); // 建立
- buff = new BufferedOutputStream(outSTr);
- for (int i = 0; i < list.size(); i++) {
- Object[] objs = list.get(i);
- write.append(objs[1].toString() + enter);
- }
- buff.write(write.toString().getBytes(“UTF-8″));
- buff.flush();
- buff.close();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- buff.close();
- outSTr.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
第二种实现:
- // 输出TXT
- public static void writeToTxt(HttpServletRequest request, List list) {
- FileOutputStream outSTr = null;
- BufferedOutputStream Buff = null; String path = request.getSession().getServletContext().getRealPath(
- ”upordown/down/model/magazinePub.txt”);
- String tab = ” ”;
- String enter = ”\r\n”;
- MagazineBean magazine;
- StringBuffer write ;
- try {
- outSTr = new FileOutputStream(new File(path));
- Buff = new BufferedOutputStream(outSTr);
- for (int i = 0; i < list.size(); i++) {
- magazine = (MagazineBean) list.get(i);
- write = new StringBuffer();
- write.append(“期刊名称:” + tab);
- write.append(delNull(magazine.getTenet()) + enter);
- write.append(enter);
- Buff.write(write.toString().getBytes(“UTF-8″));
- }
- Buff.flush();
- Buff.close();
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- try {
- Buff.close();
- outSTr.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }