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

应用服务器文件路径设置相关推荐

  1. oracle 添加归档日志文件_oracle 归档日志文件路径设置

    oracle 归档日志文件路径设置 2012-05-23 15:37:42| 分类: oracle | 标签: oracle  log_archive_dest | 举报 | 字号 订阅 1: 首先查 ...

  2. KEIL5 头文件路径设置摸索和总结

    KEIL5 头文件路径设置摸索和总结 1.常识 1.1绝对路径和相对路径的认知: 绝对路径:是从盘符开始的路径,形如 C:\windows\system32\cmd.exe 相对路径:是从当前路径开始 ...

  3. Django的静态文件路径设置对比

    实验结构为: ├── mysite │ ├── manage.py │ ├── mysite │ │ ├── asgi.py │ │ ├── __init__.py │ │ ├── __pycache ...

  4. linux mysql库文件路径设置_MySQL_linux修改mysql数据库文件的路径,mysql更改数据文件的存放路径 - phpStudy...

    linux修改mysql数据库文件的路径 mysql更改数据文件的存放路径感觉直接把/etc/my.cnf中的datadir改一下重启一下服务就行,但是从网上搜了n多资料,大部分都是更改my.cnf中 ...

  5. Log4J文件路径设置

    为什么80%的码农都做不了架构师?>>>    1.Spring初始化时设置系统属性:webapp.root implements ApplicationListener<Co ...

  6. python读取csv文件路径设置_python读取csv文件

    1 importcsv2 tsvfile = open('any_different_file/excel2.tsv','rt')3 readers =csv.reader(tsvfile)4 for ...

  7. linux生成core文件路径,core文件生成和路径设置

    在程序崩溃时,内核会生成一个core文件,即程序最后崩溃时的内存映像,和程序调试信息. 之后可以通过gdb,打开core文件察看程序崩溃时的堆栈信息,可以找出程序出错的代码所在文件和函数. 1.cor ...

  8. python中文件路径的设置

    文件路径设置的方法:   首先要区分"\"和"/".系统中的路径用的是反斜杠"\",而在python代码中反斜杠"/"代 ...

  9. 设置路径是服务器上的文件,设置服务器文件路径

    设置服务器文件路径 内容精选 换一换 为了防止您的主机被勒索病毒侵害,请创建防护策略,将重点防御的文件添加到防护策略的监控路径中,并启动机器学习.机器学习会自动聚类并收集该策略下的所有服务器的正常进程 ...

  10. linux eclipse 头文件路径,Eclipse CDT标准库头文件设置

    使用eclipse cdt开发C/C++项目的时候,从eclipse官网下的linux下的专门版本在Fedora上能自动Discovery机器上的gcc/g++头文件.符号之类的,但是在我用的slac ...

最新文章

  1. 7 大主题!梳理神经网络中 Normalization 的发展历程
  2. linux下启动tlq命令,UNIX/LINUX命令
  3. 苹果内购和 Apple Pay
  4. C 入门 第八节 指针
  5. opencv图片处理和摄像头边缘检测
  6. 无缝融入 Kubernetes 生态 | 云原生网关支持 Ingress 资源
  7. [ZJOI2011] 道馆之战(树链剖分)
  8. Java开发环境!我总结了所有面试题
  9. OJ1061: 顺序输出各位数字(C语言)(谈程序优化问题及pow函数耗时问题)
  10. 肚子上挂张画就能隐身:AI完全看不出我在哪,更看不出我是人类了 | 开源
  11. 教你成为全栈工程师(Full Stack Developer) 一-各显神通总结八大类编程语言的区别...
  12. 爬虫实战—模拟登陆oschina
  13. Hugging Face Course-Introduction学习小记 (part1)
  14. 离线安装Silverlight 工具
  15. linux 查看gc情况
  16. 5大主流ASO优化工具
  17. 从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中
  18. go语言sql转struct在线工具
  19. 计算机数字怎么转换成文本,怎么把数字转换成文本
  20. 利用JNative调用MediaInfo.dll

热门文章

  1. 在spring管理的类的要注意问题
  2. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
  3. BZOJ1233: [Usaco2009Open]干草堆tower
  4. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_7_字符输出流的续写和换行...
  5. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节...
  6. awk --- 常用技巧
  7. Python学习笔记008_类_对象_继承_组合_类相关的BIF
  8. A*算法 带cocos2d-x例子 a*寻路算法
  9. 运行maven项目抛出java.lang.OutOfMemeoyError异常
  10. vue-router配置