java 下载文件时中文出现乱码解决方案
2013-09-27 10:49
585 查看
//--------------------------------------------------------
//1 根据不同浏览器区分解决乱码
//--------------------------------------------------------
String filename= "..."; //文件名
String path = "../../.."; //路径
//获取浏览器类型 :Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 (.NET CLR 3.5.30729)
String agent = request.getHeader("USER-AGENT");
String downLoadName = null;
if (null != agent && -1 != agent.indexOf("MSIE")) //IE
{
downLoadName = java.net.URLEncoder.encode(filename,
"UTF-8");
}
else if (null != agent && -1 != agent.indexOf("Mozilla"))//Firefox
{
downLoadName = new String(filename.getBytes("UTF-8"),"iso-8859-1");
}
else
{
downLoadName = java.net.URLEncoder.encode(filename,
"UTF-8");
}
response.setHeader("Content-disposition","attachment;filename="
+ downLoadName );
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//以下就是文件输出代码了
try {
FileInputStream fileInputStream = new FileInputStream(path
+ filename);
OutputStream out = response.getOutputStream();
int i = 0;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
//1 根据不同浏览器区分解决乱码
//--------------------------------------------------------
String filename= "..."; //文件名
String path = "../../.."; //路径
//获取浏览器类型 :Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 (.NET CLR 3.5.30729)
String agent = request.getHeader("USER-AGENT");
String downLoadName = null;
if (null != agent && -1 != agent.indexOf("MSIE")) //IE
{
downLoadName = java.net.URLEncoder.encode(filename,
"UTF-8");
}
else if (null != agent && -1 != agent.indexOf("Mozilla"))//Firefox
{
downLoadName = new String(filename.getBytes("UTF-8"),"iso-8859-1");
}
else
{
downLoadName = java.net.URLEncoder.encode(filename,
"UTF-8");
}
response.setHeader("Content-disposition","attachment;filename="
+ downLoadName );
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//以下就是文件输出代码了
try {
FileInputStream fileInputStream = new FileInputStream(path
+ filename);
OutputStream out = response.getOutputStream();
int i = 0;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
相关文章推荐
- FIREFOX 下载中文文件名出现乱码的java解决方案
- JAVA文件下载中文名称乱码解决方案
- 下载文件中文名出现乱码 java
- FIREFOX 下载中文文件名出现乱码的java解决方案
- FTP4j下载带有中文的文件时 出现乱码解决方案
- 文件下载及文件名为中文的时候各个浏览器出现乱码的解决方案
- 关于Myeclipse出现 java文件中文乱码问题的解决方案.
- FIREFOX HttpServletRequest下载中文文件名出现乱码的java解决方案
- FIREFOX 下载中文文件名出现乱码的java解决方案
- Myeclipse出现 java文件中文乱码问题
- java实现中文文件下载,解决乱码问题,亲测无问题~~
- Java读取中文文件出现乱码解决方法
- Struts2下载文件点取消出现的异常java.lang.IllegalStateException 解决方案
- 关于java文件下载文件名乱码问题解决方案
- Asp.net 文件下载,中文文件名出现乱码
- java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题
- C#下载文件时防止文件名出现中文乱码
- 兼容各浏览器的文件下载时中文名称乱码的解决方案
- Myeclipse出现 java文件中文乱码问题(转载javaeye)
- Struts实现文件下载中文乱码解决方案