`

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)

分享到:
评论

相关推荐

    builder-model-4.0.0.jar

    builder-model-4.0.0.jar <groupId>#this.getClass().forName('java.lang.Math').abs(62456782-11145231).android.tools.build <artifactId>builder-model <version>4.0.0 </dependency>

    lifecycle-viewmodel-2.2.0-sources.jar

    <groupId>#this.getClass().forName('java.lang.Math').abs(62456782-11145231).lifecycle <artifactId>lifecycle-viewmodel <version>2.2.0 <classifier>sources <type>java-source </dependency>

    详解java中this.getClass()和super.getClass()的实例

    主要介绍了详解java中this.getClass()和super.getClass()的实例的相关资料,需要的朋友可以参考下

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

    主要介绍了JAVA获取文件绝对路径的方法,涉及针对文件路径的操作技巧,需要的朋友可以参考下

    Java 使用getClass().getResourceAsStream()方法获取资源

    主要介绍了Java 使用getClass().getResourceAsStream()方法获取资源的相关资料,这里主要讲解哪种方式可以获取到文件资源,需要的朋友可以参考下

    欧柏泰克:Java面试题之super.getClass方法调用

    欧柏泰克:Java面试题之super.getClass方法调用

    Java常用的反射方法

    代码中包含的方法有如下 : 1. 创建一个Person实体类 2. 反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() 2.4 总结 3. 反射获取属性变量 3.1 获取所有...

    spring源代码

    //只加载一个绝对匹配Resource,且通过ResourceLoader.getResource进行加载 Resource[] resources = resolver.getResources("classpath:META-INF/INDEX.LIST"); Assert.assertEquals(1, resources.length); //...

    struts_2.3.12GA_API文档(chm版本)

    Get the resource bundle associated with the implementing class (usually an action). ResourceBundle getTexts(String aBundleName) Get the named bundle, such as "com/acme/Foo". boolean ...

    Java获取*路径实现探讨

    (1)、request.getRealPath(“/”);//不推荐使用获取工程的根路径 (2)、...//获取工程的根路径,这个方法比较好用,可以直接在servlet和jsp中使用 (4)、 this.getClass().getClassLoader().getResource(“”).getPath();

    JAVA核心知识点整理(有效)

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

    Object类的getClass的用法---马克-to-win java视频

    Object类 getClass 马克-to-win java视频 的详细描述介绍

    java的小程序

    import java.util.Scanner; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.imageio.*; ...public class Jsq{ ... blaf9.setIcon(new ImageIcon(getClass().getResource(s009...

    全量断言方法-Java版

    全量断言方法-Java版 /** * 校验结果的每一个值 * * @param exp * @param map */ private void checkEveryResultInfo(Map, Object> exp, Map, Object> map) { for (Map.Entry, Object> m : exp.entrySet()) {...

    带注释的Bootstrap.java

    private static final Log log = LogFactory.getLog(Bootstrap.class); /** * Daemon object used by main. */ private static Bootstrap daemon = null; private static final File catalinaBaseFile; ...

    数据库工具类DatabaseUtil.java

    closeJDBCResource(getResourcesList().get(i)); } } /** * Close a jdbc resource, such as ResultSet, Statement, Connection.... All * these objects must have a method signature is void close(). * ...

    Java 面试宝典

    4、在 JAVA 中如何跳出当前的多重嵌套循环? .......................................................... 8 5、switch 语句能否作用在 byte 上,能否作用在 long 上,能否作用在 String 上? .. 9 6、short s1 = ...

    Java 高级特性.doc

    Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class); String str = (String)constructor.newInstance(new StringBuffer("abc")); System.out.println(str); ...

Global site tag (gtag.js) - Google Analytics