java 文件下载支持中文名称的实例

实例如下所示:

/**
   * 文件下载
   * @param filePath 文件路径
   * @param fileName  文件名称
   */
  public void download(String filePath,String fileName){
    try {
       //支持中文
      fileName = URLEncoder.encode(fileName,"UTF-8");
      HttpServletResponse response = ServletActionContext.getResponse();
      HttpServletRequest request = ServletActionContext.getRequest();
      response.reset();
      response.setContentType(request.getServletContext().getMimeType(fileName));
      response.setHeader("Content-Disposition", "attachment;filename="+fileName);
      InputStream in = new FileInputStream(filePath);
      OutputStream out = response.getOutputStream(); 

      byte[] b = new byte[1024];
      int length = 0;
      while((length = in.read(b)) != -1) {
        out.write(b,0,length);
      }
      in.close();
      out.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

以上这篇java 文件下载支持中文名称的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现批量修改txt文件名称的方法示例

    本文实例讲述了Java实现批量修改txt文件名称的方法.分享给大家供大家参考,具体如下: 最近在做特征选择的实验时,需要批量修改一下文件名称,在这里做一下记录. package com.cqu.experiment; import java.io.File; /** * @author 作者: E-mail:@126.com * @version 创建时间:2016年12月26日 下午3:02:01 类说明 */ public class RenameTxt { public static vo

  • JavaWeb利用struts实现文件下载时改变文件名称

    先看看效果图: package com.fenghuo.struts.download; import java.net.URLEncoder; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.

  • java文件下载设置中文名称的实例(response.addHeader)

    实例如下: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String browser = ""; String fileName = "测试.txt"; try { browser = request.getHeader("User-Agent"); if

  • Java获取文件夹下所有文件名称的方法示例

    本文实例讲述了Java获取文件夹下所有文件名称的方法.分享给大家供大家参考,具体如下: import java.io.File; public class GetFoldFileNames { /** * * @author zdz8207 */ public static void main(String[] args) { getFileName(); } public static void getFileName() { String path = "G:/lxz/20130611&qu

  • linux下用renameTo方法修改java web项目中文件夹名称的实例

    经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服务器上一直无法实现功能,自己一直在捣鼓,以为是window环境和Linux环境不同的原因导致,后面发现在项目中使用renameTo方法修改文件夹名称不行是因为之前改了java web项目中的js,在js中传入值到后台,后台根据值来修改文件夹名称.由于没清除缓存导致js中的代码没有刷新,所以一直出现错

  • java批量修改文件名的实现方法

     java批量修改文件名的实现方法 初次学习java,被java的灵活性和简洁的思路所吸引 需求: 看到java视频在播放器列表中的文件名很长,每次都需要拉长列表才能看清全名,故写此代码批量修改该文件夹下所有文件名 实现代码: import java.io.*; class filesRename { public static void main(String[] args) throws IOException { String str1 = new String("这里是需要删除的文件名前

  • Java批量修改文件名的实例代码

    复制代码 代码如下: import java.io.*; import java.util.*;public class Test { public static void main(String[] args) throws IOException {        BufferedReader br = new BufferedReader(new FileReader("output1.txt"));        List<String> newName = new

  • java 文件下载支持中文名称的实例

    实例如下所示: /** * 文件下载 * @param filePath 文件路径 * @param fileName 文件名称 */ public void download(String filePath,String fileName){ try { //支持中文 fileName = URLEncoder.encode(fileName,"UTF-8"); HttpServletResponse response = ServletActionContext.getRespon

  • Java正则匹配中文的方法实例分析

    本文实例讲述了Java正则匹配中文的方法.分享给大家供大家参考,具体如下: 1.匹配双引号间内容: public void test1() { // 匹配双引号间内容 String pstr = "\"([^\"]+)\""; Pattern p = Pattern.compile(pstr); Matcher m = p.matcher("\"goodjob\""); System.out.println(m.fi

  • java文件下载代码实例(单文件下载和多文件打包下载)

    这篇文章主要介绍了java文件下载代码实例(单文件下载和多文件打包下载),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近项目有需要写文件下载相关代码,这边提交记录下相关代码模块,写的不太好,后期再优化相关代码,有好的建议,可留言,谢谢. 1)单文件下载 public String oneFileDownload(HttpServletRequest request,HttpServletResponse response){ //针对需求需

  • php实现支持中文的文件下载功能示例

    前言 本文主要给大家介绍了关于php实现支持中文的文件下载功能的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 问题说明 文件下载,通常有一种最为简单的方法,那就是将url直接指向服务器上文件的所在位置.但是这个方法存在很大的安全隐患. 暴露了服务器文件目录结构 无法禁止非法请求来源,无法对文件下载请求做安全验证 解决方案 一.将文件下载请求映射到后端程序url 借助http服务器(apache/nginx)实现映射功能 这里以apache为例进行说明 借助apach

  • JS字符串长度判断,超出进行自动截取的实例(支持中文)

    今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了, 下面是JS代码: <html> <script src="http://jb51.net/script/jquery.js" type="text/javascript"></script> <body> <input type="text" name=&qu

  • 解决Java原生压缩组件不支持中文文件名乱码的问题

    最近发现Java原生的Zip压缩组件在压缩过程中,不支持文件名的中文编码,会在压缩过程中把中文文件名变成乱码.Apache的ant包中的压缩组件修复了这个问题,如果你在使用压缩功能时需要支持中文文件名,建议你直接使用Apache的压缩组件来实现这个功能. 具体使用方法: 1.在你的pom文件中增加对Apache的ant工具包的dependency: <dependency> <groupId>org.apache.ant</groupId> <artifactId

  • Java实现按中文首字母排序的具体实例

    要实现"按中文首字母排序"操作,可以使用java.util包下的Arrays类的sort()函数. Arrays类包含用来操作数组(比如排序和搜索)的各种方法. 比如对于排序操作的sort()函数,重载了多种静态函数以适应不同情况下的需要. 以下,我们应用最后一个重载函数来实现"按中文首字母排序": 复制代码 代码如下: sort(T[] a, Comparator<? super T> c) 根据指定比较器产生的顺序对指定对象数组进行排序. 代码举例:

  • MySQL一劳永逸永久支持输入中文的方法实例

    目录 1.在C盘中,在查看中将隐藏的项目放出,点开ProgramData 2.在M字母的区域内找到MySQL 3.选择MySQL Server 5.7 4.创建my.ini副本防止出错(直接复制粘贴),点进my.ini 5.带#的都是注释,不必理睬,直接找到[client],添加以下内容 6.再找到[mysqld],添加以下语句 7.保存后,找到服务重启(关闭窗口,重点图标不行!!!) 8.在弹出的框中,找到MySQL57重启 总结 1.在C盘中,在查看中将隐藏的项目放出,点开ProgramDa

随机推荐