`

获取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文件中获取该项目的相对路径.doc

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

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

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

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

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

    在Java程序中获取当前运行程序的路径

    其次,`java.lang.Runtime`类提供了执行操作系统命令的方法,例如`exec`,通过执行特定的系统命令,可以获取到程序的当前工作目录。例如: ```java Runtime.getRuntime().exec("pwd").getInputStream().toString()....

    简单的JAVA实现获取windows的系统路径

    这段简单的JAVA代码可以获取到WINDOWS的系统目录和环境变量,在XP和WIN7下测试通过!

    JAVA获取FTP文件列表

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

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

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

    java实现系统目录树控件

    DefaultMutableTreeNode root = new DefaultMutableTreeNode("根目录"); JTree tree = new JTree(root); ``` 2. **加载系统目录**: 使用java.io.File类获取系统的目录列表,并遍历目录,为每个目录和文件创建...

    java获取系统参数规格

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

    java准确读取多音字的方法

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

    java中File的相对路径与绝对路径总结

    - **在使用`getResource()`方法时**,如果路径不以`/`开头,则默认是从调用该方法的类的所在位置开始查找,而以`/`开头则表示从类路径的根目录开始查找。 #### 总结 通过以上分析可以看出,在Java中处理文件路径时...

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

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

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

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

    java 删除指定目录下的文件

    在Java编程语言中,删除指定目录下的文件是一个常见的任务...总结来说,Java提供了多种方法来删除指定目录下的文件,可以根据项目需求和兼容性选择合适的方法。在进行文件系统操作时,务必小心谨慎,避免误删重要数据。

    java 获取USB外接设备信息demo

    在Java编程环境中,获取USB外接设备的信息是一个相对复杂的过程,因为Java标准库并不直接支持USB设备的交互。但是,通过使用第三方库如libusb或JavaUSB(也称为JUSB),我们可以实现这一功能。以下是对如何使用Java...

    JAVA项目开发文档模板总结

    在Java项目开发中,一套完整的文档模板是确保项目顺利进行的关键。这些文档涵盖了从项目启动到最终交付的全过程,帮助团队成员明确职责、跟踪进度、评估风险并确保满足客户需求。以下是对标题和描述中提到的知识点的...

    java新手8个小项目

    特别适合java新手巩固java基础的项目,总共有8个项目的全部代码,都可以直接运行,代码有注释。

Global site tag (gtag.js) - Google Analytics