获取Java项目根目录(转载)
<pre id="content-586097673" mb10">一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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包中的类)
四 属性文件的读取:
方法 一 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
分享到:
相关推荐
windows linux 下,获取java项目绝对路径的方法,struts2设置了struts.multipart.saveDir后会在根目录建立文件夹,这样会涉及linux下的权限问题
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
在这个主题中,我们将深入探讨如何使用ServletContext来获取JavaWeb应用的根目录下的文件路径,这对于读取、写入或操作静态资源如图片、CSS、JavaScript文件等非常有用。 首先,了解ServletContext接口。它在javax....
- `webapps`目录是Web应用的根目录,部署的应用会被放在其中。 - `temp`目录用于存放运行时产生的临时文件。 6. **源码与工具** - 标签中的“源码”可能指的是Java项目的源代码,开发者可以查看和修改这些代码来...
JAVA 文件中获取项目的相对路径 在 JAVA 文件中获取项目的相对路径是非常重要的,特别是在 JSP/Servlet 中。下面将详细介绍在 JAVA 文件中获取项目的相对路径的相关知识点。 1. 绝对路径和相对路径的概念 在讨论...
在Java编程语言中,查看系统根目录是常见的任务,这对于获取操作系统特定的路径或执行跨平台操作至关重要。这个"Java实例 - 查看系统根目录源代码-详细教程"的压缩包资源显然提供了一个完整的示例,帮助开发者学习...
2. **获取子目录列表**:调用`listFiles()`方法,返回根目录下的所有文件和子目录。 3. **递归遍历**:对每个子目录,重复以上步骤;对于文件,则记录其信息(例如路径、名称等)。 4. **构建树结构**:在遍历过程中...
DefaultMutableTreeNode root = new DefaultMutableTreeNode("根目录"); JTree tree = new JTree(root); ``` 2. **加载系统目录**: 使用java.io.File类获取系统的目录列表,并遍历目录,为每个目录和文件创建...
public——public目录包含了Agent的一些例子,而且还应该包含我们自己编写的Agent的根目录。 lib——lib目录包含了Aglet的库文件和其他Aglet技术所需要的库文件。 (2)Aglet的安装 为了安装Aglet平台需要使用...
这里的路径是相对于项目的根目录而言的。 - 另一种形式: ```java File f = new File("./a.txt"); ``` 此处的路径则是相对于当前目录。 2. **基于Classpath的文件访问**: - 当文件位于类路径下时,可以使用...
在Java Web开发中,获取WEB-INF目录或者更广泛的WEBROOT(Web应用的根目录)的物理路径是一项常见的需求。这通常涉及到服务器环境变量、Servlet API的使用以及对Web应用部署结构的理解。以下将详细讲解如何在Java中...
5. **主程序**:在主程序中,调用上述方法,从根目录开始遍历并转化整个目录树。最后,得到的JSON对象可以写入文件或者直接通过网络发送到前端。 在提供的压缩包`fay-tree4j-master`中,可能包含了一个名为`FayTree...
std::cerr 无法获取FTP根目录" ; } } InternetCloseHandle(hFtpSession); } InternetCloseHandle(hConnect); } InternetCloseHandle(hSession); } ``` 在这个示例中,`UploadFileAndGetRootDirectory`...
例如,如果当前类位于`net/hncu/db`包下,返回的结果将是`E:/myeclipse/test/WebRoot/WEB-INF/classes/net/hncu/db/`,这是相对于项目根目录的路径。 3. `this.getClass().getResource(".").getPath().substring(1)...
1. **利用`request.getSession().getServletContext().getRealPath("")`获取项目根目录:** - 示例:如果项目名为“TEST”且位于`E:\Tomcat\webapps\TEST`,则调用此方法返回的路径为`E:\Tomcat\webapps\TEST`。 ...
1. **初始化目录树**:首先,获取根目录,可以是用户指定的路径,也可以是当前工作目录。然后,使用`File`类的`listFiles()`方法获取所有子目录和文件,创建对应的`DefaultMutableTreeNode`,并将其添加到父节点中。...
- `getServletContext()` 返回当前Servlet的上下文对象,可以从中获取Web应用的根目录路径。 - 可用的方法还包括: - `javax.servlet.http.HttpSession.getServletContext()` - `javax.servlet.jsp.PageContext....
ChatRoom-master可能是项目源码的根目录,其中可能包含以下关键组成部分: 1. **源代码文件**:Java源代码文件,可能包括服务器端(Server)和客户端(Client)的实现,以及可能的数据结构和算法类。 2. **配置文件...
根据以上信息,这个Java项目可能是一个基于Web的系统,用户可以在这里获取、组织和预测知识内容。开发过程中使用了Eclipse作为IDE,并遵循了一定的软件工程规范,包括文档编写和源代码管理。要运行或理解这个项目,...