实例如下:
受保护的void dopost(httpservletrequest请求,httpservletresponse响应)抛出了servletexception,ioexception {string browser =“”;字符串fileName =“测试.txt”;尝试{browser = request.getheader(“用户代理”); if(-1 <browser.indexof(“ msie 6.0”)|| -1 <browser.indexof(“ msie 7.0”)){// ie6,ie7 response.addheader(“ content-disposition”,“ content-disposition”,“ actactment; actactment; filename = filename =” + new string string(fileName.getBybyBybyBybyTes(filename.getBytes(filename.getBytes(inso)),iso859-1-1); } else if(-1 <browser.indexof(“ msie 8.0”)){// ie8 response.addheader(“ content-disposition”,“ attactment; filename; filename =“ + urlencoder.encode.encode(filename,fileName,fileName,” utf-8“”)); } else if(-1 <browser.indexof(“ msie 9.0”)){// ie9 response.addheader(“ content-disposition”,“ actactment; actactment; filename =“ + urlencoder.encode.encode.encode(filename,fileName,fileName,“ utf-8””)); } else if(-1 <browser.indexof(“ chrome”)){//谷歌响应.addheader(“ content-disposition”,“ attactment; filename; fileName*= utf-8''' + urlencoder.encode.encode(fileName,fileName,“ utf-8””)); } else if(-1 <browser.indexof(“ safari”)){//苹果响应.addheader(“ content-disposition”,“ actactment; filename; filename =“ + new string file string(filename.getBytes(),” iso88859-1“ ISO88859-1”); } else {//火狐或者其他的浏览器响应.addheader(“ content-disposition”,“ attactment; filename*= utf-8''' + urlencoder.encode(filename,“ utf-8”)); }} catch(异常e){e.printstacktrace(); } inputStream in = new fileInputStream(“ d://test.txt”); //获取文件输入流int len = 0;字节[] buffer = new Byte [1024]; outputStream out = response.getOutputStream(); while((len = in.Read(buffer))> 0){out.write(buffer,0,len); //将缓冲区的数据输出到客户端浏览器} in.close(); out.flush(); out.close(); }判断各个浏览器,然后进行解码和加码。
以上这篇java文件下载设置中文名称的实例(wendesp.Addheader)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。,也希望大家多多支持武林网。