`
skydove
  • 浏览: 19312 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

获取Java项目根目录 N多方法(转载)

阅读更多

一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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中的方法类似,不同的是此方法必须以'/'开头,参考http://riddickbryant.iteye.com/blog/436693) 
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包中的类)

 

四 属性文件的读取:

方法 一

InputStream in = lnew BufferedInputStream( new FileInputStream(name));    Properties p = new Properties();   p.load(in);

 

注意路径的问题,做执行之后就可以调用p.getProperty("name")得到对应属性的值

 

方法二

Locale locale = Locale.getDefault(); 
ResourceBundle localResource = ResourceBundle.getBundle("test/propertiesTest", locale); 
String value = localResource.getString("test"); 
System.out.println("ResourceBundle: " + value);

工程src目录下propertiesTest.properties(名字后缀必须为properties)文件内容如下:

test=hello word

分享到:
评论

相关推荐

    Java获取Java所在的根目录.rar

    Java获取Java所在的根目录,可以在Windows和LINUX两个平台中使用,都可以得到JAVA所在的路径,程序使用JComboBox组合框组件来存放获得的根目录信息,如在Linux 和Unix 系统下组合框只有一项即“/”,截图是Windows...

    windows linux 下,获取java项目绝对路径的方法

    windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题

    Java获取Tomcat下war包部署的Web工程根目录路径的方法

    开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径

    JAVA获取项目路径.doc

    ### JAVA获取项目路径 在Java开发中,获取项目的路径是一个非常常见的需求,尤其是在处理文件读写、资源定位等场景时尤为重要。本文将详细介绍如何通过不同的方法来获取项目的各种路径,并结合示例代码进行说明。 ...

    java操作Properties文件 获取项目当前目录

    java操作Properties文件 获取项目当前目录 java操作Properties文件 获取项目当前目录 java操作Properties文件 获取项目当前目录 java操作Properties文件 获取项目当前目录

    在JAVA文件中获取该项目的相对路径.doc

    JAVA 文件中获取项目的相对路径 在 JAVA 文件中获取项目的相对路径是非常重要的,特别是在 JSP/Servlet 中。下面将详细介绍在 JAVA 文件中获取项目的相对路径的相关知识点。 1. 绝对路径和相对路径的概念 在讨论...

    java 获取项目文件路径实现方法

    此外,如果你需要获取项目的根目录,特别是对于桌面应用,可以考虑使用`System.getProperty("user.dir")`,这将返回执行Java命令时的工作目录,通常为项目的根目录。在Web应用中,由于类加载机制的不同,这种方法...

    JAVA获取各种路径总结

    - `getServletContext()` 返回当前Servlet的上下文对象,可以从中获取Web应用的根目录路径。 - 可用的方法还包括: - `javax.servlet.http.HttpSession.getServletContext()` - `javax.servlet.jsp.PageContext....

    java反射,获取所有属性、方法以及List集合类

    在Java中,反射主要用于在运行时分析类和对象,包括访问私有成员、调用私有方法、创建对象、获取类信息等。本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解...

    Java 实例 - 查看系统根目录源代码-详细教程.zip

    总结,这个Java实例详细讲解了如何利用Java标准库来查看和处理系统根目录,包括使用`File`类获取根目录,通过`System.getProperty`获取操作系统属性,以及利用`java.nio.file`包的方法进行更现代的文件系统操作。...

    JAVA类,JSP,Servlet获取工程路径.txt

    在Java Web开发过程中,经常需要获取项目的根目录或某个特定资源文件的绝对路径。这些路径信息对于加载资源文件、处理文件上传下载等功能至关重要。本文将详细介绍在Eclipse环境中通过JSP、Servlet以及Java类获取...

    Java调用GDAL的所有DLL和gdal.jar(java8 bin目录),使用编译好的库方法,获取 tif 文件信息及GDAL方法

    Java调用GDAL的所有DLL和gdal.jar(java8 bin目录,含Java调用GDAL的DLL和gdal.jar),使用编译好的库方法,获取 tif 文件信息及GDAL方法,具体使用方法:https://blog.csdn.net/antma/article/details/89264910

    Java项目经验汇总(简历项目素材)

    Java项目经验汇总(简历项目素材)

    java获取目录内容列表

    此文件记录的是通过java程序来获取文件夹下所有文件名称的方法

    java解析wsdl文档获取方法与参数

    总结,Java解析WSDL文档获取方法与参数涉及到的技术点包括:了解WSDL的基本概念,使用Apache CXF或其他类似库,加载和解析WSDL文档,获取服务、端点、操作和消息信息,最后可能还需要生成Java客户端代码以便于调用...

    JAVA项目实践合集

    "JAVA项目实践合集"是一个综合性的资源集合,包含了多个Java项目的源代码和实践案例,旨在帮助学习者提升Java编程技能并了解实际项目开发过程。这个压缩包中的内容广泛,涵盖了从基础到进阶的各个层面,对于Java初学...

    java获取系统参数规格

    通过Java内置的方法,我们可以轻松地获取一系列关于Java运行时环境(JRE)及操作系统的信息。下面将详细介绍如何使用Java代码来获取这些重要的系统参数规格,并解释每项参数的具体含义。 ### Java获取系统参数规格 ...

    Java中获取文件路径的几种方式

    这段代码会获取当前项目的根目录路径,其中`%20`是空格的URL编码形式。 #### 2. 获取当前目录 使用`new File("")`创建一个空字符串的`File`对象,可以得到当前目录的路径。 ##### 示例代码: ```java File ...

    java准确读取多音字的方法

    本文将详细讲解如何在Java中实现准确读取多音字的方法,结合图像资料"多音字.png"以及源代码目录"src"和库文件"lib"中的内容。 首先,理解多音字的概念是关键。多音字是指一个汉字有多个读音,每个读音对应不同的...

    java中获取类加载路径和项目根路径的5种方式分析

    类加载路径是指Java运行时环境用于查找类文件和资源文件的路径,而项目的根路径通常指的是项目工程的根目录。 1. 使用当前类对象的getResource方法获取类加载路径。 在Java中,每个类加载器都有一个与之关联的类...

Global site tag (gtag.js) - Google Analytics