实例如下 :
Protected void dopost (httpServletRequest Request, httpServletResponse -Antwort) löst ServletException aus, iOException {String browser = ""; String Dateiname = "测试 .txt"; try {browser = request.getheader ("user-Agent"); if (-1 <browser.indexof ("msie 6.0") || -1 <browser.indexof ("msie 7.0")) {// IE6, IE7 浏览器 response.addHeader ("Inhaltsdisposition", "Anhang; Filename =" + new String (FileName.GetByTes (), "iso8859-1"); } else if (-1 <browser.indexof ("msie 8.0")) {// ie8 response.addHeader ("Inhaltsdisposition", "Attachment; Dateiname =" + urlencoder.encode (Filename, "utf-8"); } else if (-1 <browser.indexof ("msie 9.0") {// ie9 response.addHeader ("Inhaltsdisposition", "Attachment; FileName =" + urlencoder.encode (Filename, "utf-8"); } else if (-1 <browser.indexof ("chrome")) {// 谷歌 response.addHeader ("Inhaltsdisposition", "Anhang; Dateiname*= utf-8 ''" + urlencoder.ende (FileName, "utf-8"); } else if (-1 <browser.indexof ("safari")) {// 苹果 response.addheader ("Inhaltsdisposition", "Attachment; Dateiname =" + new String (Dateiname.getBytes (), "ISO8859-1"); } else {// 火狐或者其他的浏览器 response.addHeader ("Content-Disposition", "Attachment; Dateiname*= utf-8 ''" + urlencoder.encode (Dateiname, "utf-8"); }} catch (Ausnahme e) {e.printstacktrace (); } InputStream in = new FileInputStream ("d: //test.txt"); // 获取文件输入流 int len = 0; byte [] buffer = neues byte [1024]; OutputStream out = response.getOutputStream (); while ((len = in.read (puffer))> 0) {out.write (buffer, 0, len); // 将缓冲区的数据输出到客户端浏览器} in.close (); out.flush (); out.close (); }判断各个浏览器, 然后进行解码和加码。
以上这篇 Java 文件下载设置中文名称的实例 (Antwort.AddHeader) 就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。 也希望大家多多支持武林网。