java web文件下载

两种方式:
1. 直接使用链接,即将文件放到你的发布的项目路径下(建议WEB-INF下,因为对客户端不可见);
2. 使用servlet以文件流的形式;

第1种方式,如果是在本地直接使用html的a标签测试,Firefox浏览器下是不行的,IE,Chrome可以。
本地:<a href="C:/Users/test2.csv">save as...</a>
远程的可以,某小众软件下载都是这种方式,用firebug跟踪了一下,直接到服务器项目的目录下。

具体参考:
1.  java web文件下载功能实现
2.  JavaWeb学习总结(五十)——文件上传和下载

Note:读文件和写文件的Best Practice,都用缓冲区,系能高出不少!

想想以前处理EEG数据时,3个小时处理不了一个20MB的txt文件,也是醉了。时间很重要,性能优化是必须!

即使用BufferedInputStream和BufferedOutputStream,当然在写文件时也可以:
//创建缓冲区
byte buffer[] = new byte[1024];
int len = 0;
 //循环将输入流中的内容读取到缓冲区当中
while( (len=in.read(buffer))>0){
//输出缓冲区的内容到浏览器,实现文件下载
out.write(buffer, 0, len);
}


你可能感兴趣的:(java,Web,servlet,chrome,IE,firefox)