`

Java在不同环境下获取当前路径的方法--this.getClass().getResource("")

    博客分类:
  • JAVA
 
阅读更多

1. 在Servlet/Filter等Servlet web环境中,只要获得javax.servlet.ServletContext类型,则可以通过 getRealPath("...") 获得路径。相对路径中最顶层目录可通过参数“"/"”获取。
request.getSession().getServletContext().getRealPath("/");

2. JSP自定义标签javax.servlet.jsp.tagext.TagSupport
((javax.servlet.ServletContext)pageContext).getRealPath("");

3. 普通Java Class对象文件中使用:
this.getClass().getResource("???");
如果Class文件在顶层目录(包)中,且“???”为空白字符串(“""”),及此方法在jar文件中执行则会返回null。在顶层目录(包)以下的各层目录(包)则会返回包含协议的URL。各层文件夹(包)之间使用“/”分隔。

 

项目位置:D:/BeyondTrack--reference/jBPMWebDesigner

javacode 位置:D:/BeyondTrack--reference/jBPMWebDesigner/build/web/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet

文件位置:D:/BeyondTrack--reference/jBPMWebDesigner/src/java/net/java/dev/beyondtrack/web/workflow/designer/icon

 

 

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package net.java.dev.beyondtrack.web.workflow.designer.japplet;

import javax.swing.ImageIcon;

/**
*
* @author pub32
*/
public class NewMain {

public NewMain () {
System.out.println(this.getClass().getResource(""));
System.out.println(this.getClass().getResource("."));
System.out.println(this.getClass().getResource(".."));
System.out.println(this.getClass().getResource("/"));
System.out.println(this.getClass().getResource("point.png"));
System.out.println(this.getClass().getResource("/point.png"));
System.out.println(this.getClass().getResource("./point.png"));
System.out.println(this.getClass().getResource("../point.png"));
System.out.println(this.getClass().getResource("icon/point.png"));
System.out.println(this.getClass().getResource("/icon/point.png"));
System.out.println(this.getClass().getResource("./icon/point.png"));
System.out.println(this.getClass().getResource("../icon/point.png"));
}

public static void main(String[] args) {
System.out.println("====== Test.class ======");
NewMain test = new NewMain();
}
}

 

 

====== Test.class ======
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/japplet/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/
null
null
null
null
null
null
null
file:/D:/BeyondTrack--reference/jBPMWebDesigner/build/web/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/icon/point.png
BUILD SUCCESSFUL (total time: 0 seconds)

分享到:
评论

相关推荐

    java项目中获取路径详解

    在静态方法中,可以使用 `Test.class.getResource("").getPath()`,而在非静态方法中,可以使用 `this.getClass().getResource("").getPath()` 或 `Test.class.getResource("").getPath()`。这两个方法都可以获取...

    java绝对路径和相对路径

    - `this.getClass().getClassLoader().getResource("").getPath()`:获取`classes`目录下的绝对路径。 - 示例:`/D:/workspace/strutsTest/WebRoot/WEB-INF/classes/` 3. **通过`ServletContext`对象获取路径**:...

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

    例如,通过`this.getClass().getResource()`方法可以获取资源文件的路径。 ##### 示例代码: ```java File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f.getAbsolutePath()); ...

    java获取路径的各种方法

    - 在任意类中,可以使用 `this.getClass().getClassLoader().getResource("").getPath()` 获取 `classes` 目录的全路径。 这些方法在处理文件资源、读写文件或部署Web应用时非常有用。需要注意的是,由于安全和跨...

    总结一下java获取路径几种途径

    在Java程序中,可以通过`System.getenv`方法获取环境变量,进而得到存储在环境变量中的路径信息。 ### 6. 使用URI和URL 对于Web应用来说,路径还可能以URI或URL的形式存在,如数据库连接字符串、外部资源链接等。 ...

    从HttpServletRequest获取各种路径总结

    - **类的绝对路径**:`Class.class.getClass().getResource("/").getPath()` - **获取工程的路径**:`System.getProperty("user.dir")` ##### 在Servlet中获取路径 - **获取工程目录**:`request.getSession()....

    JAVA获取文件绝对路径的方法

    当你需要获取与类相关的资源文件的绝对路径时,可以使用 `Class.getResource()` 或 `Class.getResourceAsStream()` 方法。这些方法返回一个 `java.net.URL` 对象,可以通过调用 `getPath()` 来获取路径字符串。例如...

    Java获取工程路径方法详解

    Java获取工程路径方法详解的知识点主要包括了在Java中如何获取工程路径的几种不同方法,以及每种方法的具体应用和示例代码。在开发Java程序时,往往需要获取到当前工程的路径,这在文件读写、资源定位等场景中非常...

    Java相对路径与肯定路径的问题_.docx

    2. **`ClassLoader`的`getResource()`和`getPath()`**: 另一种方法是通过`this.getClass().getClassLoader().getResource("/").getPath()`获取`classes`目录的绝对路径,这在非Web环境中也很有用。 3. **`...

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

    在Java中,`.`通常代表当前目录,所以它也会返回当前类所在的包路径,与`this.getClass().getResource("").getPath().substring(1)`效果相同。 需要注意的是,这些方法的返回路径依赖于类加载器和项目结构,可能会...

    JAVA获取CLASSPATH路径的方法详解

    3. `this.getClass().getClassLoader().getResource("")`:同样返回当前类路径的绝对URI路径。 4. `ClassLoader.getSystemResource("")`:返回系统类路径的绝对URI路径。 5. `Thread.currentThread()....

    获取路径的各种方法

    4. `this.getClass().getClassLoader().getResource("").getPath()`:这个方法适用于任何Java类,无论是在JSP、Servlet还是普通的Java文件中,它能获取到工程的"class"目录下的路径。 5. `request.getParameter("")...

    java classloader classpath 张孝祥

    3. `this.getClass().getClassLoader().getResource("")`:同样获取当前类路径的根路径,如`file:/D/workspace/jbpmtest3/bin/`。 4. `ClassLoader.getSystemResource("")`:获取系统类路径的根路径,如`file:/D/...

    基于获取JAVA路径,包括CLASSPATH外的路径的方法详解

    1. 使用`this.getClass().getResource("")`:这种方法可以获取到当前类所在的包的路径,但如果是从ANT启动,可能会得到不期望的结果。此时,建议直接通过Java命令行调试来获取正确的路径。 2. `URL base = this....

    java 获取路径的各种方法(总结)

    - `this.getClass().getClassLoader().getResource("").getPath()`:这个方法可以获取到`classes`目录下的文件路径,适用于所有的`jsp`、`servlet`以及普通的`java`文件。这种方法不会依赖于服务器的具体安装路径,...

    Java获取*路径实现探讨

    在Java Web开发中,获取文件路径是一个常见的需求,这涉及到获取web服务器下的文件路径、本地路径、相对路径等。根据给定文件的内容,我们可以探讨在Java Web应用中实现路径获取的方法。 ### 1. 获取Web服务器下的...

    基于从request获取各种路径的方法介绍

    - 获取类的绝对路径:`Class.class.getClass().getResource("/").getPath()` 结果通常为类似 `/D:/TEST/WebRoot/WEB-INF/classes/pack/`。 - 获取工程的路径:`System.getProperty("user.dir")` 结果为工程所在...

Global site tag (gtag.js) - Google Analytics