title: 项目下的路径问题

tags:

grammar_cjkRuby: true

---

在javaee的项目中,存取文件,解析xml和properties文件,以及项目中的文件,都需要获取路径,常用的一些路径收集如下:

一、src文件夹下的文件,编译后 的classes文件夹

1.直接获取src文件夹下的文件的方法如下:(同样路径可以是“com/huawei/db.properties”)

InputStream is = DemoFilePath.class.getClassLoader().getResourceAsStream("db.properties");

其中的DemoFilePath为类名,而且只能实用类名,不能实用Object。获取src文件下的文件的输入流都可以通过这个方法来获取

还有一种方法和原理是一样的,可以实用类名或者Object超类也是通过类加载器来获取只是前面需要增加-- “/” --这个符号如下:(同样路径可以是"/com/huawei/test.txt")

InputStream is=Object.class.getResourceAsStream("/test.txt");//保险的做法还是把Object换成类本身的名字

InputStream is = getClass().getResourceAsStream("/db2.properties");//但是这个方法不能子啊静态类中使用

2.获取classpath的路径,就是src编译后了classes文件夹的路径

DemoFilePath.class.getClassLoader().getResource("com/renboqieqie/db4.properties").getPath()

//或者

Thread.currentThread().getContextClassLoader().getResource("").getPath()

二、WebConten文件夹下

1.在jsp中获取

1.JSP

获取文件的绝对路径

application.getRealPath(file)


获取文件的绝对路径

request.getRequestURI()


获取当前jsp页面的路径

request.getContextPath()


获取当前项目的路径

request.getServletPath()


以下是摘抄的原文

一、用Jsp获取

1、获取文件的绝对路径

String file="文件";(例如:data.mdb)

String path=application.getRealPath(file);

结果:

E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\文件

2、获取文件的绝对路径

String p2=request.getRequestURI();

结果:

E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\文件

3、获取当前jsp页面的路径

String p3=request.getContextPath();

结果:

/myWebsite/index.jsp

4、获取当前项目的路径

String p4=request.getServletPath();

结果:

/myWebsite

二、用Java类获取

1、获取Eclipse路径

String a1=System.getProperty("user.dir");

结果:

D:\StudySystem\JavaWeb\3-eclipse-jee-indigo-win32\eclipse

2、获取当前的classpath路径

String a2=类名.class.getResource("").toString();

String a3=DBConnection.class.getResource("/").toString();

String a4=DBConnection.class.getClassLoader().getResource("").toString();

String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

打印出来分别是:

3、获取文件的绝对路径

如果要获取WebContent目录下的文件绝对路径怎么办?可以用下面的方法

String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();

int num=t.indexOf(".metadata");

String path=t.substring(1,num).replace('/', '\')+"项目名\WebContent\文件";

结果是:

E:\java_web\workspace\项目名\WebContent\文件

三、用servlet获取

1、获取项目的绝对路径

request.getSession().getServletContext().getRealPath("")

结果:

E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite

2、获取浏览器地址

request.getRequestURL()

结果:

3、获取当前文件的绝对路径

request.getSession().getServletContext().getRealPath(request.getRequestURI())

结果:

E:\java_web\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\myWebsite\myWebsite\QuestionServlet

java 工程路径_java 项目的路径详情相关推荐

  1. java 文件引用路径_JAVA项目引用文件路径问题

    比如我们有以下目录 |--project |--src |--javaapplication |--Test.java |--file1.txt |--file2.txt |--build |--ja ...

  2. java application 路径_java项目获取根路径(web项目和application项目的区分)

    Java项目中经常要读取配置文件,涉及到读取配置文件的地方,就会要读定位文件的路径.因此,在项目如何正确获取文件路径尤为关键. 根据不同的java项目,在获取文件路径时候有一些 小区别 测试环境:E: ...

  3. java配置d盘绝对路径_Java的绝对路径和相对路径

    1. 绝对路径 以根部件开始的路径是绝对路径,比如/(Linux系统中)或者C:\(Windows系统中). 默认文件系统的路径分隔符,类Unix文件系统是/,Windows是\ 其实就是在硬盘上真正 ...

  4. java 绝对路径_java 获取绝对路径

    1.利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user.dir"));//use ...

  5. java读取空格_java 读取文件路径空格和中文的处理

    应用部署时,发生文件读取错误,发现是部署路径中含有空格的文件夹名,然后把应用服务器位置迁移了. 从网上找到如下方案: 1, TestURL().class.getResource("&quo ...

  6. java 运行os文件路径_Java获取文件路径的几种方式

    关于绝对路径和相对路径: 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径. http://www.su ...

  7. java war目录_java war包 路径--解决war包中文件路径问题

    https://blog.csdn.net/u013409283/article/details/51480948 转自:http://free-chenwei.iteye.com/blog/1507 ...

  8. java 获取路径_JAVA获取文件路径

    我们在上传文件和文件处理的时候需要获取资源文件的路径.但是在项目中获取的文件路径,可能并不是我们想要的文件路径,因为开发项目中获取的路径与打成jar包后的路径并不一致. 以一个SpingCloud项目 ...

  9. java获取服务器路径_JAVA获取服务器路径的方法

    1.在JSF环境中获取到ServletContext: 2.servlet中获得项目绝对路径 根目录所对应的绝对路径 request.getServletPath(); 文件的绝对路径 request ...

最新文章

  1. java uiautomation_Java UiAutomation類代碼示例
  2. 如何让渣画质图片达到逼真效果,试试GAN吧
  3. c++重载运算符_Python 运算符重载
  4. 按15分钟取数据_【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单...
  5. 使用postman请求响应Invalid CORS request
  6. 使用代码创建Hybris storefront订单时遇到错误No result for the given example [TitleModel (
  7. 【2013.4.6】微软暑期实习生答案(zz)
  8. 蚂蚁森林快捷指令_iPhone「快捷指令」怎么玩?玩法太多,别让这个功能吃灰
  9. ML《决策树(二)C4.5》
  10. 2017.9.26 于神之怒加强版 失败总结
  11. 十二、实战底部(二)
  12. 面试官就是这么欺负人:new Object()到底占用几个字节?
  13. 《你的灯亮着吗》读书笔记一
  14. 普利策奖《哥德尔、埃舍尔、巴赫——集异璧之大成》
  15. 8926音频录音流程
  16. EPS2008土方计算操作简要说明
  17. html页面跳转闪屏,闪屏页.html
  18. gene Ontology (基因本体论)
  19. 34、CSS高频前端面试题之CSS基础
  20. 如何设置word的默认输入法——搜狗输入法

热门文章

  1. NTP反射放大***分析
  2. 2011年8月5日星期五
  3. 数据结构基础学习(一)数组
  4. 2018SDIBT_国庆个人第七场
  5. hdu 5233 Gunner II
  6. 提高MySQL数据库查询效率的几个技巧(转载)
  7. ios开发 MPMoviePlayerController 视频播放器
  8. window7 64位 myeclipse9.0破解步骤
  9. 每日一道算法题--leetcode 169--求众数--python--两种方法
  10. Session何时创建实例