struts 下载 效率问题 含代码

Ami121 2008-12-24 11:49:42
用struts 实现对象下载 ,下载过程中不在服务器生成临时文件,而是将对象直接写入到本地的文件中去.
用什么可以更高效一些.我的实现方式效率比较低,核心代码

OutputStream ops=response.getOutputStream();
List list=new ArrayList();
for(int i=0;i<1000;i++){
list.add(0,new String("abc0000"));
}
ObjectOutputStream oos=new ObjectOutputStream(ops);
oos.writeObject(list);
oos.flush();


求高效办法。
...全文
359 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ami121 2008-12-25
  • 打赏
  • 举报
回复
结贴
qhzwoaini 2008-12-24
  • 打赏
  • 举报
回复
顶者有分啊
qhzwoaini 2008-12-24
  • 打赏
  • 举报
回复
基本都这样
glglglglglgllll 2008-12-24
  • 打赏
  • 举报
回复
嗯。楼上说的很对
hbwhwang 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 Ami121 的回复:]
很对
我现在还是用的生成临时文件来实现的
[/Quote]

你不用生成临时文件的
java.io流有很多跟文件平行的内存操作类
比如StringWriter可以代替FileWriter
而ByteArrayOutputStream可以代替FileOutputStream
如果内容不多,你完全可以直接写到这些内存操作类中,然后把其中的内容取出来写到response.outputstram中。没必要通过文件绕个弯
hbwhwang 2008-12-24
  • 打赏
  • 举报
回复
比如这样一个类:
class Student{
int id;
String name;
Date birthday;
}
你想在客户端收到什么内容呢?
Ami121 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hbwhwang 的回复:]
引用 8 楼 Landor2004 的回复:
引用 7 楼 Ami121 的回复:
在实现对象下载时
大家来谈谈 自己的实现方式(可以生成文件)


其实这个和对象不对象的关系不大,流出去的都是二进制,只要设定不同的response的contexttype,就可以生成相应类型的文件了
我用的就是和楼主类似的代码


呵呵,感情楼主要实现的跟你的不一样
他客户端指望收的是文本,不是串行化的对象字节流
[/Quote]
很对
我现在还是用的生成临时文件来实现的
hbwhwang 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Landor2004 的回复:]
引用 7 楼 Ami121 的回复:
在实现对象下载时
大家来谈谈 自己的实现方式(可以生成文件)


其实这个和对象不对象的关系不大,流出去的都是二进制,只要设定不同的response的contexttype,就可以生成相应类型的文件了
我用的就是和楼主类似的代码
[/Quote]

呵呵,感情楼主要实现的跟你的不一样
他客户端指望收的是文本,不是串行化的对象字节流
Ami121 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Landor2004 的回复:]
引用 7 楼 Ami121 的回复:
在实现对象下载时
大家来谈谈 自己的实现方式(可以生成文件)


其实这个和对象不对象的关系不大,流出去的都是二进制,只要设定不同的response的contexttype,就可以生成相应类型的文件了
我用的就是和楼主类似的代码
[/Quote]
大哥 弄是弄出来了
可是有中文乱码啊
服务器是linux的
萱哥老了 2008-12-24
  • 打赏
  • 举报
回复
帮顶 顺便Mark
luoguofeng 2008-12-24
  • 打赏
  • 举报
回复
up
Landor2004 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Ami121 的回复:]
在实现对象下载时
大家来谈谈 自己的实现方式(可以生成文件)

[/Quote]
其实这个和对象不对象的关系不大,流出去的都是二进制,只要设定不同的response的contexttype,就可以生成相应类型的文件了
我用的就是和楼主类似的代码
Ami121 2008-12-24
  • 打赏
  • 举报
回复
在实现对象下载时
大家来谈谈 自己的实现方式(可以生成文件)
hbwhwang 2008-12-24
  • 打赏
  • 举报
回复
这应该已经是最高效的了吧
mengzhongdehaiyang 2008-12-24
  • 打赏
  • 举报
回复
顶顶
guoxyj 2008-12-24
  • 打赏
  • 举报
回复
up
Landor2004 2008-12-24
  • 打赏
  • 举报
回复
我也是这么弄呀,呵呵
tzb08 2008-12-24
  • 打赏
  • 举报
回复
接住
Ami121 2008-12-24
  • 打赏
  • 举报
回复
顶者有分啊

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧