一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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包中的类)
============
[原创]关于ClassName.class.getClassLoader的几点说明.
经常希望通过ClassName.class.getClassLoader().getResourceAsStream(““)来取得properties文件.通常:ClassName.class.getClassLoader().getResourceAsStream(““)取得的是WEB-INF的下级目录,比如ClassName.class.getClassLoader().getResourceAsStream(“db.properties“).在Tomcat中,可以通过增加”../”来取得上层目录,即WEB-INF目录,这样就可以把properties放在WEB-INF中统一管理。但是WLS不识别”../”。
另外一种土办法,就是不返回classLoader,直接ClassName.class.getResourceAsStream()。然后通过多个”../”(小于6个)来返回相应的上级目录。
当然,如果类扩展了HttpServlet,可以通过getServletContext().getRealPath("/")来取得Web部署目录的绝对路径。
相关推荐
尽管与路径获取不直接相关,但可以看出Selenium WebDriver在初始化时也需要设置驱动路径,这同样可以通过 `System.setProperty()` 方法完成。 ```java System.setProperty("webdriver.chrome.driver", "C:/Program ...
开发web工程时经常要获取工程的根目录,自己用Java实现的获取Tomcat下war包部署的Web工程根目录路径的方法,主要利用web工程默认的目录结构,此外也可以指定工程名称获取工程目录的绝对路径
### JSP中的路径获取 在JSP环境中,获取路径主要围绕HTTP请求和应用上下文进行。以下是一些常用的方法: 1. **获取当前页面全路径**:`request.getRequestURI()`,返回的是当前请求的URI部分,包括上下文路径和...
4. **获取项目工程路径**:对于Eclipse这样的IDE,你可能想要获取整个工程的路径,而不是单个类文件。这通常需要通过IDE提供的API或者特定的插件来完成,而不是标准的Java库。Eclipse插件开发中,可以通过`...
在 Java 中,我们可以使用 `System.getProperty("user.dir")` 来获取工程的绝对路径,这是一个固定形式的方法,无需更改。 2. 获取编译后 class 文件目录的绝对路径 在 Java 中,我们可以使用 `类名.class....
### JAVA类、JSP与Servlet获取工程路径方法详解 #### 概述 在Java Web开发过程中,经常需要获取项目的根目录或某个特定资源文件的绝对路径。这些路径信息对于加载资源文件、处理文件上传下载等功能至关重要。本文将...
Java获取工程路径方法详解的知识点主要包括了在Java中如何获取工程路径的几种不同方法,以及每种方法的具体应用和示例代码。在开发Java程序时,往往需要获取到当前工程的路径,这在文件读写、资源定位等场景中非常...
#### 二、路径获取方法详解 ##### 1. `getRealPath` - **描述**:用于获取服务器上的实际物理路径。 - **示例**: - `request.getSession().getServletContext().getRealPath("/")` - `this.getServletContext()...
Java中获取各种路径的基本方法包括获取当前类所在的工程路径、当前类的绝对路径、以及获取源码包下的文件路径等。以下将详细解释这些方法。 1. 获取当前类所在的工程路径 在Java中,可以通过获取当前类的Class对象...
Java中的FFmpeg库被广泛用于处理音视频相关的任务,其中包括获取视频时长。FFmpeg是一个开源项目,提供了命令行工具和一系列的库,用于处理多媒体数据。在Java中使用FFmpeg,开发者可以方便地集成到自己的应用中,...
读者可以通过GitHub和Gitee上的在线阅读地址获取最新的内容,并有机会参与到共建过程中,提出问题或提供改进建议。 总的来说,《Java工程师成神之路》是一本全面且深入的Java学习资料,对于希望提升技能的Java...
在Java编程语言中,获取本地系统信息是一项常用的任务...通过学习和理解这个源码工程,开发者可以掌握Java获取系统信息的基本方法,进一步可以应用于性能监控、故障排查、日志记录等场景,提升软件的稳定性和可维护性。
### 关于Java与Web工程项目中各种路径的获取总结 #### 一、获取Web服务器项目的真实物理路径 在Java Web开发中,我们经常会遇到需要获取Web应用程序的实际物理路径的情况。这通常用于读取文件或者访问资源文件等...
在Java编程领域,一个"java工程源代码实例"通常指的是包含了一系列类、接口、方法和其他相关资源的项目,这些组合起来构成了一个可运行的程序。Java工程是开发人员用来组织和管理代码的方式,使得代码更加模块化,...
### Java、JSP、Servlet 获取当前工程路径(绝对路径)问题解析 在开发基于Java的Web应用程序时,经常需要获取当前项目的绝对路径。这在处理文件读写、配置文件加载等场景中尤为重要。本文将详细介绍如何在不同的...
Java提供了丰富的类库和方法来获取这些信息,主要包括JVM(Java虚拟机)信息、操作系统信息、系统属性以及类路径等。下面将详细阐述如何利用Java获取这些信息。 1. **JVM信息**: - 使用`java.lang.RuntimeMXBean`...
- 当文件在类路径中时,推荐使用`ClassLoader`来获取输入流。例如,`Thread.currentThread().getContextClassLoader().getResourceAsStream("filename")`可以找到并打开`src`目录下的文件。这种方法允许你在打包后...
在Java编程中,获取服务器硬件信息是常见的需求,特别是在系统监控、性能分析或者资源管理的场景下。Siger(可能是“System Information Gatherer”的缩写)是一个可能的库,用于帮助开发者轻松地获取包括CPU、内存...
Java工程师新人入门通常需要经历一个从基础到进阶的过程,以下是一些推荐的书籍和学习路径,帮助初学者系统地掌握Java技术。 1. **新手入门打基础**: - 《Java 语言程序设计》:这本书适合初学者快速学习Java语法...
本文将详细讲解在Struts1和Struts2中如何获取相对路径。 ### Struts1 获取相对路径的方法 在Struts1中,我们通常会用到`Servlet`对象来获取当前应用的根目录,从而构建文件的绝对路径。以下是一种常见的方法: ``...