- 浏览: 778510 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (256)
- ssh (18)
- webservice (8)
- java基础 (38)
- j2EE方方面面 (17)
- 随意涂鸭!呵呵 (2)
- 数据库 (22)
- work (10)
- XML与XML解析 (9)
- 测试 (2)
- sso (1)
- ldap (6)
- java 模板技术 (4)
- 版本管理 (1)
- 每日小点滴 (26)
- javascript (26)
- Jakarta Commons (2)
- css (6)
- 设计 (3)
- Eclipse插件开发 (3)
- BAP (3)
- web控件 (2)
- java加密解密 (4)
- 调优 (6)
- 界面技术 (3)
- java多线程 (6)
- 互联网 (2)
- 日志管理 (4)
- java调度 (3)
- rest (0)
- Python (2)
- mobile (2)
- 2016的故事 (4)
- Docker (1)
- NOSQL_Hadoop (0)
最新评论
-
promiseloney:
这个女程序员厉害了。。。
JVM调优:GC 参数 -
zxjlwt:
可以通过WebService上传一个文件吗?素人派http:/ ...
webservice传送XML大小估算 -
liaoshaoyang:
写的不错嘛 可以做参考
权限管理设计一 -
aaaaaaaaabaas:
谢谢,对我有帮助
Apache Commons Configuration使用入门 -
Jack_Wilshere:
com.smartdot.pdm.business.corp. ...
java导出txt
第一种形式,是以流的开式直接response,适用于数据量不是很大的情况下。
第二种形式,是先将要下载的文件写到后台的一个文件或者excel 中,然后再进行下载。
第一种实现:
package com.smartdot.pdm.business.corp.magazine.util; import java.io.BufferedOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang.StringUtils; import com.smartdot.pdm.business.corp.magazine.bean.MagazineBean; public class MagazineUtils { // 输出TXT public static void writeToTxt(HttpServletResponse response, List list) { response.setContentType("text/plain");// 一下两行关键的设置 response.addHeader("Content-Disposition", "attachment;filename=期刊出版社.txt");// filename指定默认的名字 BufferedOutputStream buff = null; StringBuffer write = new StringBuffer(); String tab = " "; String enter = "\r\n"; MagazineBean magazine; ServletOutputStream outSTr = null; try { outSTr = response.getOutputStream();// 建立 buff = new BufferedOutputStream(outSTr); for (int i = 0; i < list.size(); i++) { magazine = (MagazineBean) list.get(i); write.append("期刊名称:" + tab); write.append(delNull(magazine.getChineseName()) + 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(); } } } public static String delNull(Date date) { String returnStr=""; if (date!=null) { SimpleDateFormat sf=new SimpleDateFormat("yyyy年MM月"); returnStr=sf.format(date); } return returnStr; } public static String delNull(String str) { String returnStr=""; if (StringUtils.isNotBlank(str)) { returnStr=str; } return returnStr; } }
第二种实现:
// 输出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(); } } }
下载的代码:
//下载 public ActionForward downFile(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String name=request.getParameter("filename"); // TODO Auto-generated method stub try { String path = request.getSession().getServletContext().getRealPath( "upordown/down/model/"+name); File file = new File(path); String filename = file.getName(); // 取得文件的扩展名ext String ext = filename.substring(filename.lastIndexOf(".") + 1) .toUpperCase(); InputStream fis = new BufferedInputStream(new FileInputStream(path)); byte[] buffer = new byte[fis.available()]; fis.read(buffer); fis.close(); response.reset(); response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes())); response.addHeader("Content-Length", "" + file.length()); // 设置返回的文件类型 OutputStream toClient = new BufferedOutputStream(response .getOutputStream()); // 得到向客户端输出二进制数据的对象 // 根据扩展名声称客户端浏览器mime类型 if (ext.equals("xls")) response.setContentType("application/msexcel"); else response.setContentType("application/octet-stream"); // 设置返回的文件类型 toClient.write(buffer); // 输出数据 toClient.flush(); toClient.close(); } catch (IOException ex) { ex.printStackTrace(); return mapping.findForward("error"); } return null; }
客户端调用
//下载txt function downTxt(){ window.open ('${pageContext.request.contextPath}/business/magazineAction.do?method=downFile&filename=magazinePub.txt', '文件下载', 'height=300, width=400, top='+(screen.availHeight-300)/2+', left='+(screen.availWidth-400)/2+', toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no'); } //导出txt function exportTxt(){ var queryForm=document.queryForm; var minRow=queryForm.minRow.value; var maxRow=queryForm.maxRow.value; var totalCnt="${totalCnt}"; if(StringUtils.isBlank(totalCnt)){ totalCnt=0; } if(Validator.Validate(2)){ minRow=parseInt(minRow); maxRow=parseInt(maxRow); // if(maxRow-minRow+1>1000){ // alert("每次最多可以导出1000条数据"); // return ; // } if(maxRow>totalCnt){ alert("结束记录数不能等大于总记录条数:"+totalCnt); return ; } if(maxRow<minRow){ alert("结束记录数不能小于开始记录数"); return ; } req.setRequestMethod("post"); var url="${pageContext.request.contextPath}/business/magazineAction.do?method=doExportTxt&orderColumn=${orderColumn}&orderType=${orderType}&queryCondition="+encodeURIComponent('${queryCondition}')+"&maxRow="+maxRow+"&minRow="+minRow+"&isDecorator=false"; req.setRequestURL(url); req.setAsync(true); req.setMethodOnSuccess(displayMsg); req.setRequestHeader("Content-Type","text/html;charset=gbk"); req.send(null); } }
- cos.jar (55.1 KB)
- 下载次数: 550
评论
12 楼
Jack_Wilshere
2014-10-30
com.smartdot.pdm.business.corp.magazine.bean.MagazineBean;在哪啊?
11 楼
qq852379095
2014-06-05
String
10 楼
lx8598
2014-04-29
<%
ErpVoucherScope scope = new ErpVoucherScope();
scope.setCltno(request.getParameter("clientId"));
scope.setStartdate(Text.getDate(request.getParameter("sDate")));
scope.setEnddate(Text.getDate(request.getParameter("eDate")));
ServerLocator locator = (ServerLocator)request.getSession().getAttribute(ServiceLocator.SERVICE_LOCATOR);
ErpVoucher3[] list =
locator.getErpVoucherService().getEasVoucherTxt(scope);
SimpleDateFormat sdForm = new SimpleDateFormat("yyyyMMdd");
String fileName=request.getParameter("clientId")+"-"+sdForm.format(Text.getDate(request.getParameter("eDate")))+".txt"; //System.currentTimeMillis();
//response.setContentType( "Application/OCTET-STREAM;charset=GB2312");
response.setContentType("text/plain");// 一下两行关键的设置
response.addHeader("Content-Disposition",
"attachment;filename=期刊出版社.txt");// filename指定默认的名字
BufferedOutputStream buff = null;
StringBuffer write = new StringBuffer();
String tab = " ";
String enter = "\r\n";
ServletOutputStream outSTr = null;
try {
outSTr = response.getOutputStream();// 建立
buff = new BufferedOutputStream(outSTr);
write.append("1234");
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();
}
}
%>
执行完发现1234 前面有12行空行。肿么去掉空行呢
9 楼
lx8598
2014-04-29
第一种方法有个问题。
导出的txt文件里有12行空行。 有啥么办法可以去掉泥?
导出的txt文件里有12行空行。 有啥么办法可以去掉泥?
8 楼
dove19900520
2013-08-06
代码写的太好了,给了我灵感,谢谢。
7 楼
从百草园到三味书屋
2013-01-23
卤煮,我爱你~
6 楼
escode
2012-03-29
代码不错,如果给个完整的例子就更好了
5 楼
shiping8000
2011-12-31
不错 ! 代码非常经典 !
4 楼
zzhanp
2011-11-15
记号
3 楼
wjb_forward
2011-06-22
代码很漂亮,就跟女孩子穿的衣服一样
2 楼
生死格斗
2011-04-14
楼主,太感谢了,雪中送炭那。。。
1 楼
twh1224
2010-05-28
不错,帮了大忙。
发表评论
-
Redis command
2019-07-05 09:43 0redis-cli -v : 查看redis version ... -
Spring Boot Actuator
2018-07-24 13:46 695Spring Boot : 2.0.3 POM文件中加入 ... -
关于CXF的FrontEnd和数据绑定方案
2013-06-17 11:45 1122转载自:http://blog.csdn.net/blui ... -
webservice传送XML大小估算
2013-06-06 12:22 77402013-06-06 某天,要做几个WebService, ... -
java-HashSet源码学习
2013-06-05 15:22 808HashSet: 不支持多线程 ... -
Java @override报错的解决方法 .
2013-04-28 09:59 814有时候Java的Eclipse工程换一台电脑后编译总是@ov ... -
myeclipse中的classpath .
2013-04-03 10:32 14937myeclipse中的classpath是 ... -
int i 引出JVM故事
2013-02-27 18:47 748public class TestDuanqf { ... -
java调度:(五) 用户自定义调度策略+spring+quartz
2013-02-22 18:21 0一般应该中,quartz的调度策略都是在xml配置文件中设 ... -
java内存系列:测试JDK最大内存
2013-02-22 18:09 1894JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可 ... -
日志管理(一):slf4j原理简单介绍
2013-01-24 18:44 3047转载自:http://blog.sina.com.cn/s ... -
concurrent: wai notify notifyAll
2013-01-09 10:16 829转载自:http://sishuok.com ... -
JDK5--Annotation学习:基础(二)
2012-12-04 19:56 1028转载自:http://www.iteye.com/topic/ ... -
JDK5--Annotation学习:基础(一)
2012-12-04 19:29 1095转载连接:http://www.iteye.com/topic ... -
concurrent: ThreadPoolExecutor 用法
2012-09-03 15:19 2993thread pool一般被用来 ... -
concurrent: Callable用法
2012-09-03 14:23 1281转载自: http://auguslee.iteye.com/ ... -
java调度:(六)quarts_cron表达式
2012-07-31 13:59 1250七个域要记住,从左到 ... -
java压缩----使用sun JDK压缩--中文的文件名会是乱码
2012-07-13 14:27 1281经测试,文件名为中文 ... -
java 附件
2012-07-12 15:47 0转载: java下载附件方法: Java ... -
java内存溢出
2012-05-15 10:57 5910一、问题 ...
相关推荐
java导出txt文件,并以&分隔符每个字段数据,全部代码
搭建SSH框架,利用JSP前台调用Action类中的方法,从数据库读出数据,导出TXT文件和Excel文件。TXT文件导出只用到流操作。导出Excel文件利用apache的poi第三方包,可在阿帕奇官网下载(最新版本为3.8,支持office2010...
以下将详细介绍两种Java导出txt文件的方法,并提供相关的使用技巧。 方法一: 在这个示例中,代码创建了一个HTTP响应,用于导出一个包含视频列表的txt文件。首先,通过SQL查询获取了视频列表数据。然后,设置HTTP...
总结来说,Java导出TXT文件主要涉及文件操作、流处理和HTTP响应,这两种方法分别针对小数据量和大数据量提供了灵活的选择。在实际项目中,应根据具体需求选择合适的方法,并确保代码的健壮性和性能。
在Java编程中,导出TXT文件通常用于将数据以纯文本格式存储或提供给用户下载。以下是两种常见的方法,从给定的代码片段中详细解释: ### 第一种形式:通过HttpServletResponse直接输出 这种实现方式适用于数据量较...
本文将详述如何使用Java实现TXT文件与数据库之间的数据导入和导出。 首先,我们来了解一下基础概念。TXT文件是一种常见的文本文件格式,通常用于存储纯文本数据,如表格、日志或简单的数据记录。数据库,如MySQL、...
在Java编程中,导出TXT文件是常见的数据输出任务,主要应用于数据备份、报表生成或文件传输等场景。本文将详细解析两种不同的方法来实现这一功能。 ### 方法一:通过HttpServletResponse直接输出 这种方法适用于...
从描述中的"Java导出Doc--97--2003.txt"来看,可能涉及的是创建旧版的Word .doc文件。Apache POI同样支持这种格式,但使用的是`HWPFDocument`类。 JODConverter的使用则相对简单,它将转换任务委托给OpenOffice或...
自己写的java导出页面上的数据到excel表格,可以在控制层调用一下该方法,注释都很清楚,真实可用
java导出文件, freemarker导出word需要ftl文件,java导出Word常见问题。2.TXT修改后缀名为.ftl
可以把oracle中大量数据导出为txt格式,便于在线下载、存储等后续处理。已经测试过,可以执行。
4. **导出TXT文件**: TXT文件是最简单的文本格式,可以通过BufferedWriter直接写入文本。例如,创建一个包含“Hello, Text!”的TXT文件: ```java BufferedWriter writer = new BufferedWriter(new FileWriter...
在Java编程语言中,导出TXT文件是一项常见的任务,它涉及到文件I/O操作以及字符串处理。这个"java 根据参数导出txt文件.rar"压缩包文件可能包含了一个名为"EXTtest.java"的源代码文件,该文件展示了如何在Java中根据...
java导出excel例子,使用的是poi,可以分sheet导出,可以导出txt
最近因项目开发的需要,整理了一份用JAVA导出WORD文档,其部署步骤如下: 1、将jacob-1.14.3-x86.dll放在服务器的系统盘(或运行本机的系统):\WINDOWS\system32目录下。 2、将jacob-1.14.3-x86.dll放在JDK 的 bin ...
总之,Java导出百万条数据涉及的关键技术包括分批查询、选择合适的文件格式、利用第三方库如Apache POI以及考虑性能优化策略。提供的jar包和实例代码应包含上述所有步骤,帮助开发者快速实现数据导出功能。
下面我们将深入探讨Java导出数据的相关知识点。 1. 文件操作基础 Java 提供了 `java.io` 包,其中包含了一系列类用于处理文件操作,如 `File` 类用于文件和目录的创建、读取、删除等;`FileWriter` 和 `FileReader...
在Java开发中,处理大数据量的Excel导出是一项常见的任务,尤其当数据量达到数十万条时,单个Excel文件可能会遇到性能瓶颈或格式限制。本项目针对这一问题提出了一种解决方案,即分块生成多个Excel文件,然后将它们...
"java导出excel文档.txt"和"Java的Excel导出功能.txt"可能是关于该主题的文本说明,提供了更深入的理论和指导。 8. **合集.rar** "合集.rar"可能是一个包含多个示例代码或相关资源的压缩包,解压后可以查看更多的...
本文将深入探讨如何使用Java进行数据的导入和导出,包括Excel、XML和TXT等常见格式的处理。 首先,我们要理解数据导入导出的核心目的:将数据从一个系统或文件中读取并写入另一个系统或文件。在Java中,这通常涉及...