两种方式:
1. 直接使用链接,即将文件放到你的发布的项目路径下(建议WEB-INF下,因为对客户端不可见);
2. 使用servlet以文件流的形式;
第1种方式,如果是在本地直接使用html的a标签测试,Firefox浏览器下是不行的,IE,Chrome可以。
本地:<a href="C:/Users/test2.csv">save as...</a>
远程的可以,某小众软件下载都是这种方式,用firebug跟踪了一下,直接到服务器项目的目录下。
具体参考:
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);
}