http://hzwowo.iteye.com/blog/581435
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)
上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可
1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头)
InputStream is=Test1.class.getResourceAsStream("/test.txt");
(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")
2 从httpServletRequest出发
String cp11111=request.getSession().getServletContext().getRealPath("/");
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)
eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath();
System.out.println("JdomParse.class.getClassLoader().getResource--"+p1);
输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/
另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录)
eg String p2=JdomParse.class.getResource("").getPath();
System.out.println("JdomParse.class.getResource---"+p2);
输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录下jdom包中的类)
一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProperty("user.dir"); 上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin) 二 类加载目录的获得(即当运行时某一类时获得其装载目录) 1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录) InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt"); (test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下) 上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可 1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头) InputStream is=Test1.class.getResourceAsStream("/test.txt"); (test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下) 三 web项目根目录的获得(发布之后) 1 从servlet出发 可建立一个servlet在其的init方法中写入如下语句 ServletContext s1=this.getServletContext(); String temp=s1.getRealPath("/"); (关键) 结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字) 如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\") 2 从httpServletRequest出发 String cp11111=request.getSession().getServletContext().getRealPath("/"); 结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ 四 classpath的获取(在Eclipse中为获得src或者classes目录的路径) 方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath() eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath(); System.out.println("t---"+t); 输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/ 方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同) eg:String p1=JdomParse.class.getClassLoader().getResource("").getPath(); System.out.println("JdomParse.class.getClassLoader().getResource--"+p1); 输出: JdomParse.class.getClassLoader().getResource--/E:/order/002_ext/WebRoot/WEB-INF/classes/ 另外,如果想把文件放在某一包中,则可以 通过以下方式获得到文件(先定位到该包的最后一级目录) eg String p2=JdomParse.class.getResource("").getPath(); System.out.println("JdomParse.class.getResource---"+p2); 输出: JdomParse.class.getResource---/E:/order/002_ext/WebRoot/WEB-INF/classes/jdom/ (JdomParse为src目录下jdom包中的类)
一个可以参考的文章路径:http://gloryme.iteye.com/blog/126895
分享到:
相关推荐
java获取路径的各种方法,里面包含各种web工程获取路径的方法
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
System.getProperty(),java项目路径(相关信息)的取得
JAVA类,JSP,Servlet获取工程路径.txt 总共罗列出了集中jsp servlet 在eclipse 里 获得项目工程路径的方法
java开发软件工程课程设计学生信息管理系统项目源代码。运行该项目 第一次运行项目: 使用IDEA: 使用IDEA导入该工程 使用IDEA定位到红色的报错位置,Alt+Enter导入所需要的包(javax和Junit) 运行test包下的...
用ConfigUtil.java获取路径。2.用myeclipse的文件查找工具查找physicalpath ,修改physicalpath为String physicalPath = ConfigUtil.get("savepath") + savePath;,具体修改三个位置。此工程直接导入myeclipse直接...
主要介绍了Java获取工程路径方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Java,JSP,Servlet获取当前工程路径(绝对路径)问题解析,需要的朋友可以参考下。
java反编译项目工程,可以将class 文件 进行 修改 重新导包 生成修改后的jar 步骤 1、将需要修改的 jar 包 放入 lib 目录下,并加入项目中 ,选中 jar 右击 选择 add a libray这个时候会看到 jar 的 目录 结构 2、...
java类所在工程路源代码String path=this.getClass().getResource("/").getPath(); xmlpath=xmlpath.replaceAll( "%20"," ");
基于Java开发的校园导航最短路径系统(毕设源码).zip基于Java开发的校园导航最短路径系统(毕设源码).zip基于Java开发的校园导航最短路径系统(毕设源码).zip基于Java开发的校园导航最短路径系统(毕设源码).zip基于Java...
关于java和web工程项目中各种路径的获取总结借鉴.pdf
1. 解压后把目录下面的 1.pdf 文件 放到D盘 根目录 或修改 PdfToJpgTest.java 文件中的相关文件路径 2. 导入此工程到 Eclipse 中 3. 运行 PdfToJpgTest.java 类中的 main 方法, 可以在 D盘 根目录 中生成一个 1.jpg ...
java开发软件工程课程设计毕业实习答辩试题库管理系统项目源代码。java开发软件工程课程设计毕业实习答辩试题库管理系统项目源代码,部署如下: 用sql目录下的脚本文件初始化数据库并修改配置文件中密码 解压群文件...
java实现创建指定路径下的文本文件的写功能
程序Triangle读入三个整数值,这三个整数代表一个三角形三条边的长度,程序根据这三个值判断能否构成三角形的三条边以及该三角形是不等边、等腰还是等边三角形。 使用说明中进行了较为完善的测试...4.Triangle.java
主要为大家详细介绍了java获取各种路径的基本方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
下面小编就为大家带来一篇浅谈Java工程读取resources中资源文件路径的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
(Java实现)JPG to TIFF等图片格式和TIFF图片合并功能解决方案。 有需要的看一看