博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用服务器文件路径设置
阅读量:5171 次
发布时间:2019-06-13

本文共 2227 字,大约阅读时间需要 7 分钟。

ServletActionContext.getServletContext().getRealPath("/UploadImages")
获取的结果可能是windows:"d:\tomcat\webapps\projectname\UploadImages"   
linux:"/usr/local/tomcat5/webapps/projectname/UploadImages" 可以看到,我们只要获取ServletContext就可以获取文件在不同服务器上的物理路径了。而且操作都是在你部署项目的文件目录下。这样你在通过File对象来操作你的文件和文件夹就显得轻而易举了。剩下的就是结合你的业务需求,将你的物理绝对路径加上你想组合的相对路径完成你的代码了。

PART 1

xxx.split("\\") 显然得不到想要的结果      
正确方法      
xxx.split("\\\\");      
     
原因如下:      
在Java中处理一些路径相关的问题的时候,如要取出ie浏览器上传文件的文件名,由于ie会把整个文件路径都作为文件名上传,需要用java.lang.String中的replaceAll或者split来处理。如:      
上传文件路径为:C:\Documents and Settings\collin\My Documents\111-lazyloading.gif,欲取出文件名:111-lazyloading.gif。可以      
String temp[] = name.split("\\\\");      if (temp.length > 1) {      name = temp[temp.length - 1];      }   
regex为\\\\,因为在java中\\表示一个\,而regex中\\也表示\,所以当\\\\解析成regex的时候为\\。      
由于unix中file.separator为斜杠"/",下面这段代码可以处理windows和unix下的所有情况:      
String temp[] = name.replaceAll("\\\\","/").split("/");      if (temp.length > 1) {          name = temp[temp.length - 1];      }

PART 2

java文件上传下载路径   
文章分类:Java编程    
         在java中涉及到访问文件路径或是引用某个文件时,经常要用到获取当前项目上下文路径问题,有时上传图片或文件后需要下载文件,又涉及到文件的下载路径,于是将在java或jsp 里文件路径获取方法总结如下:   
String basePath = request.getContextPath();   basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+basePath+"/";    String servletPath =  request.getServletPath();   String realPath=request.getRealPath("")+"\\";   
// 根据上传时间,生成不同的文件夹   
String currFoder =  m1.createFolder(realPath,uploadDate);       

// 文件保存目录路径   

String savePath = realPath+currFoder;

// 文件下载路径   
String fileName =   dto.getFileName("fileName");   String downLoadPath = basePath+currFoder+"/"+fileName;     
// 文件输出路径:   
savePath ☞ D:\Tomcat5.5\webapps\testProject\upload/2010-07-15/2010-07-15第1次.doc   
downLoadPath ☞ http://localhost:8081/testProject/upload/2010-07-15/2010-07-15第1次.doc     
/**     * 创建存放上传文件的文件夹,如果不存在则自动创建     * @param realPath     * @param uploadDate      * @return  */  public String createFolder(String realPath,String uploadDate) {        String currFoder = "upload/"+uploadDate;        String fileFoder = realPath+currFoder;              FileOperate op = new FileOperate();       op.newFolder(fileFoder);    //调用newFolder()方法创建文件夹          return currFoder;   }

转载于:https://www.cnblogs.com/innosight/p/3271135.html

你可能感兴趣的文章
css-a:visited
查看>>
javaScript 中创建json/转换字符串为json
查看>>
JS中for循环里面的闭包问题的原因及解决办法
查看>>
idea安装Scala插件
查看>>
mysql之查询
查看>>
Mybatis小结
查看>>
SpringData-JPA
查看>>
sqli-labs Less-11 and Less-12
查看>>
基于 Hive 的文件格式:RCFile 简介及其应用
查看>>
Windows Performance Monitor 学习笔记
查看>>
团队作业4——第一次项目冲刺 FiRsT DaY
查看>>
数组套字典排序
查看>>
【Selenium2】【HTMLTestRunner】
查看>>
一些常用的前端基础操作
查看>>
.Net remoting, Webservice,WCF,Socket区别
查看>>
ASP.NET Core Web读取appsettings.json中的配置
查看>>
HttpClient如何解决302重定向问题
查看>>
阅读阿里巴巴开发人员手册1
查看>>
macbook pro 2016 2017 15寸 雷电3 外接显卡 epu 简单教程(不修改UEFI)
查看>>
【知识碎片】JavaScript篇
查看>>