response.setHeader("content-disposition", "attachment;filename="+projectName+".egi");
StringInputStream saveasout = new StringInputStream (数据库得到的string);//可能类名字有误,参照java.io
byte[] line = new byte[ (int) saveasout.length()];
saveasout.read(line);
response.getOutputStream().write(line);
saveasout.close();
StringInputStream saveasout = new StringInputStream (数据库得到的string);//可能类名字有误,参照java.io
byte[] line = new byte[ (int) saveasout.length()];
saveasout.read(line);
response.getOutputStream().write(line);
saveasout.close();
解决方案 »
- struts2 中的action不执行execute方法,直接跳转INPUT
- 关于hibernate悲观锁的问题,理解不了。
- 对于含有日期格式的list,如何利用json将其正确解析出来?
- <s:token/> WARN org.apache.struts2.util.TokenHelper.(TokenHelper.java:170)Form token JX6ZUED7AK76UX
- java开发中快捷键有哪些
- ibatis查询结果集映射问题
- SSH框架整合问题
- 求助:如果修改一个XML的节点名称阿
- 想学习J2EE,用什么服务器好呢? JBoss免费,WebLogic要钱,性能上有什么区别?
- 求java编写的把数据库中数据生成xml的程序,多谢!
- tomcat的环境配置问题!
- 没人帮我看吗?是不是太简单了?急急急!!!!!!!!!!!
但是需要考虑Buffer和大数据量问题,如果数据很大的话,会OutOfMemory的
String outString = "";
while(rs.next())
{
String str1 = re.getString(1);
String str2 = re.getString(2);
String str3 = re.getString(3);
String str4 = re.getString(4);
outString = str1 +"自己定义的分割符号"+ str2 +"自己定义的分割符号"+ str3 +"自己定义的分割符号"+ str4+"\n" ;
} StringInputStream saveasout = new StringInputStream (outString );//
建议再用BufferStream包装一下.
这样不就满足你的要求了吗???
while(rs.next())
{
String str1 = re.getString(1);
String str2 = re.getString(2);
String str3 = re.getString(3);
String str4 = re.getString(4);
outString = str1 +"自己定义的分割符号"+ str2 +"自己定义的分割符号"+ str3 +"自己定义的分割符号"+ str4+"\n" ;
}你这样的速度非常非常的慢的,占用内存数是未知的,
当然不应该保存到String中,应该直接开始out.println(str1 +"自己定义的分割符号"+ str2 +"自己定义的分割符号"+ str3 +"自己定义的分割符号"+ str4);甚至str1,str2都不应该保存下来
具体优化还要靠他自己了 :)
要用String的话,最好也要用BufferString
to littlecong(虫子) 哈哈 好啊
<%@ page import="java.util.*," %>
<%@ page import="java.io.*" %>
<%
String filetype = "txt";
String filename = "lifxue";
if (filetype.length()==0)
filename=filename;
else
filename=filename+"."+filetype;
try
{
String strtext = "lifxue,lifxue,lifxue,lifxue\r\nlifxue,lifxue,lifxue2,lifxue2\r\n"; response.setContentType("application/x-msdownload");
response.setHeader("Content-disposition","attachment;filename="+filename); StringBufferInputStream saveasout = new StringBufferInputStream (strtext );
byte[] line = new byte[ (int) saveasout.available()];
saveasout.read(line);
response.setHeader("Content-Length",String.valueOf(line.length));
javax.servlet.ServletOutputStream servletOut=response.getOutputStream();
servletOut.write(line);
servletOut.close();
//saveasout.close();
}
catch (Throwable e)
{
System.out.print("\n下载文件["+filename+"]过程中出现错误:["+e.toString()+"]");
}
%>