JAVA WEB关于文件开发相关问题

来源:互联网 发布:淘宝代购没有中文标签 编辑:程序博客网 时间:2024/06/07 01:52

1.表单file地址

  var url=$("#fj").val(); url=url.split("\\");//这里要将 \ 转义一下 var filePath=url[url.length-1];


2.获取项目部署路径
 
ClassLoader classLoader = Thread.currentThread()               .getContextClassLoader();       if (classLoader == null) {           classLoader = ClassLoader.getSystemClassLoader();       }       java.net.URL url = classLoader.getResource("");       String ROOT_CLASS_PATH = url.getPath() + "/";       File rootFile = new File(ROOT_CLASS_PATH);       String WEB_INFO_DIRECTORY_PATH = rootFile.getParent() + "/";       File webInfoDir = new File(WEB_INFO_DIRECTORY_PATH);       String SERVLET_CONTEXT_PATH = webInfoDir.getParent() + "/";
3.拆分字符串split
  System.out.println(":ab:cd:ef::".split(":").length);//末尾分隔符全部忽略    System.out.println(":ab:cd:ef::".split(":",-1).length);//不忽略任何一个分隔符    System.out.println(StringUtils.split(":ab:cd:ef::",":").length);//最前面的和末尾的分隔符全部都忽略,apache commons    System.out.println(StringUtils.splitPreserveAllTokens(":ab:cd:ef::",":").length);//不忽略任何一个分隔符 apache commons   输出:  4  6  3  6  
4.下载文件
 public void loadfj(HttpServletRequest request,HttpServletResponse response) throws Exception{  Map map=new HashMap<String, Object>();  map.put("FJBLYBH", request.getParameter("FJBLYBH"));  List outlist=tsglservice.getload(map);  if(outlist.size()==1){   Map outmap=(Map) outlist.get(0);   String ctxPath = request.getSession().getServletContext().getRealPath("//") + "//temp//";   String base64Code=(String) outmap.get("FJBFJ");   String url=ctxPath+outmap.get("FJBFJM");   Base64File.decoderBase64File(base64Code, ctxPath+outmap.get("FJBFJM"));   File dirPath = new File(ctxPath);         if (!dirPath.exists()) {           dirPath.mkdir();         }         FileInputStream in = new FileInputStream(ctxPath+outmap.get("FJBFJM"));         response.setContentType("application/x-msdownload");          response.setHeader("Content-Disposition", "attachment; filename="+outmap.get("FJBFJM")); //设置名称   OutputStream out = response.getOutputStream();    File f = new File(ctxPath + outmap.get("FJBFJM"));    f.delete();   byte buffer[] = new byte[1024];        int len = 0;    while((len=in.read(buffer))>0){              //输出缓冲区的内容到浏览器,实现文件下载               out.write(buffer, 0, len);            }         //关闭文件输入流     in.close();         //关闭输出流      out.close();  }  }





1 0
原创粉丝点击