`

获取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...

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

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

    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类,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获取FTP文件列表

    本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`,该类提供了一系列功能来与FTP服务器交互,包括连接到服务器、上传文件、下载文件、获取文件列表、删除文件和目录以及关闭连接等操作。 #### 二、`...

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

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

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

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

    java获取目录内容列表

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

    java获取系统参数规格

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

    Java获取CPU&主板&硬盘序列号

    获取CPU序列号通常需要借助本地方法,这超出了Java标准库的能力范围。 2. **主板序列号获取**: 主板序列号同样需要操作系统级别的访问权限,Java标准库没有提供直接的接口。可以使用JNI或第三方库,如`...

    java准确读取多音字的方法

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

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

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

    关于java获取操作系统信息

    在Java编程语言中,获取操作系统的信息对于环境配置、程序调试及兼容性测试等方面具有重要意义。本文将基于给定的文件信息,深入探讨如何利用Java来获取操作系统的关键信息,并对每一条命令及其返回值进行详细解释。...

    java 读取远程文件目录 及文件方式

    本文件是将 Java 中 通过远程url访问 转换成 HTML 文件 ,通过 dom4j转换成Java对象元素

    从麦克风获取声音并存储到文件(Java)

    AudioRecorder.java为中文注释版 AudioRecorder02.java为英文注释版 属性描述: 简单实现CS架构的语音录入转换为音乐文件的程序。 从麦克风获取声音并存储到文件的Java源程序,文件...生成语音文件在你的项目根目录!

Global site tag (gtag.js) - Google Analytics