易截截图软件、单文件、免安装、纯绿色、仅160KB

java 得到项目路径

      一 相对路径的获得
   说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的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/class


相关文档:

关于Boolean类型在flex与java中间传递的问题

  最近在开发过程中发现一个问题:Boolean类型的值无法在flex和java间传递,经过一段研究发现,问题出现在Boolean类型的getter和setter方法上。
      按照javabean的规范,小布尔类型的getter是以is做前缀的,但是大布尔类型的getter就成了以get为前缀了(大布尔作为引用类型,已经被视为普通 ......

成为Java高手的25个学习要点

1. 你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams。
2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、NIO、localiza ......

Java:重写equals()和hashCode()

1.
何时需要重写
equals()
当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念)。
2.
设计
equals()
[1]
使用
instanceof
操作符检查“实参是否为正确的类型”。
[2]
对于类中的每一个“关键域”,检查实参中的域与当前对象中对应的域值。
[2.1]
对于非
float
和 ......

Java注释(Annotation)


Java5中提供了新的注释(Annotation),能够为类提供额外信息,本文介绍了如何定义注释、如何使用注释和如何解析注释。
1、定义注释
package ch5;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Ta ......

Java反射机制

Java中提供了Class类,可以通过Class类获取类的定义信息,包括包名、类名、类上的注释(Annotation)、类的修饰符、父类、继承的接口、构造方法、成员变量和成员方法。这些信息分别使用java.lang.annotation.Annotation、 java.lang.reflect.Constructor、java.lang.reflect.Field、java.lang.reflect.Method、java.lang.re ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号