java导出txt文件的问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java导出txt文件的问题?相关的知识,希望对你有一定的参考价值。
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition","attachment; filename=1.txt");
for(Object obj:list)
CcCompareCrbt c=(CcCompareCrbt) obj;
try
response.getWriter().print(c.getCompare_type()+"\r");
response.getWriter().print(c.getUser_Type()+"\r");
response.getWriter().print(c.getOds_Content()+"\r");
response.getWriter().print(c.getHlr_Content()+"\r");
response.getWriter().print(c.getCrbt_Content()+"\r");
response.getWriter().print(c.getIbp_Content()+"\r");
response.getWriter().print(c.getHlr_Id()+"\r");
response.getWriter().print(c.getIbp_User_Id()+"\r");
response.getWriter().print(c.getCompare_Date()+"\r\n");
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
为什么这样只能导出少量数据,大量数据就不行呢?
要怎么样修改这个程序呢?
请大家帮我看看,谢谢大家了
我用 StringBuffer接受 在用 一个response.getWriter().print也不能支持大量数据
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition","attachment; filename=1.txt");
StringBuffer sb=new StringBuffer();
for(Object obj:list)
CcCompareCrbt c=(CcCompareCrbt) obj;
sb.append(c.getCompare_type()+"\t");
sb.append(c.getGtn_Telephone()+"\t");
sb.append(c.getUser_Type()+"\t");
sb.append(c.getOds_Content()+"\t");
sb.append(c.getHlr_Content()+"\t");
sb.append(c.getCrbt_Content()+"\t");
sb.append(c.getIbp_Content()+"\t");
sb.append(c.getHlr_Id()+"\t");
sb.append(c.getIbp_User_Id()+"\t");
sb.append(c.getCompare_Date()+"\r\n");
try
response.setContentType("text/html;charset=utf-8");
response.getWriter().print(sb.toString());
catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
建议修改:在循环外使用PrintWriter pw=response.getWriter();
循环内使用pw.print();方法。再试试看
如果你的list里放了太多的数据,这样自身就会内存溢出。list中的对象如果没内存溢出,再使用上面说的方法试,不要再用StringBuffer存list中的数据,StringBuffer存list内数据时也是占用内存的,这样你内存消耗的更快。
list最好分成多次存储对象。本回答被提问者采纳 参考技术B 大量数据会导致OutOfMemoryError
一是可以调整java内存大小解决
二是采用小批多次导入的设计解决 参考技术C 不是很清楚 参考技术D 大数据得设置一个缓冲区,bufferwriter什么的,缓冲满了记得flush,否则异常..
如何将命令提示符的输出导出到 txt 文件
【中文标题】如何将命令提示符的输出导出到 txt 文件【英文标题】:How to export output from command prompt to txt file 【发布时间】:2021-02-18 07:17:08 【问题描述】:我下载了 Selenium 服务器(https://www.selenium.dev/downloads/,然后运行命令:
java -jar selenium-server-standalone-3.141.59.jar -role hub >>server.txt
创建日志文件 server.txt。然而,它是空的。我需要在这个文件中查看命令提示符的内容。我在 Windows 上运行它。有什么建议吗?这是执行此命令后的命令提示符内容:
【问题讨论】:
如果它正在写入控制台,那么您无能为力。但如果它只是写入不同的文件流,那么下面的答案应该可以工作。 【参考方案1】:有多种输出类型。将所有内容重定向到文件时,使用 &1
作为文件描述符 1 的值。因此,通过使用 2>&1
,您将 strerr
重定向到与 stdout
相同的输出,因此这应该可以解决问题:
(java -ar selenium-server-standalone-3.141.59.jar -role hub)>server.txt 2>&1
【讨论】:
是的,确实如此。感谢格哈德。以上是关于java导出txt文件的问题?的主要内容,如果未能解决你的问题,请参考以下文章
java读取excel文件,按照指定的日期条件读数据,然后导出txt存储并以其日期命令