JAvaファイルパスメモ
次のコードから、getResourceが取得したのはclassesファイルの相対パスであることがわかります.
新File()またはuse.dirは、プロジェクトパスまたはeclipseパスまたはtomcat/binパスです.
新File()またはuse.dirは、プロジェクトパスまたはeclipseパスまたはtomcat/binパスです.
/**
*
*/
package servlet;
import java.io.File;
/**
*
* @author jiangyongyuan
*/
public class TestPath {
public static void main(String []args){
printPath();
}
public static void printPath() {
System.out
.println("Thread.currentThread().getContextClassLoader().getResource(\"\")="
+ Thread.currentThread().getContextClassLoader()
.getResource(""));
System.out
.println("TestPath.class.getClassLoader().getResource(\"\")="
+ TestPath.class.getClassLoader().getResource(""));
System.out.println("ClassLoader.getSystemResource(\"\")="
+ ClassLoader.getSystemResource(""));
System.out.println("TestPath.class.getResource(\"\")="
+ TestPath.class.getResource(""));
System.out.println("TestPath.class.getResource(\"/\")="
+ TestPath.class.getResource("/"));
System.out.println("new File(\"\").getAbsolutePath()="
+ new File("").getAbsolutePath());
System.out.println("System.getProperty(\"user.dir\")="
+ System.getProperty("user.dir"));
}
/** result run at eclipse tomcat , and invoke in servlet :
*
Thread.currentThread().getContextClassLoader().getResource("")=file:/D:/workspace/3.com/build/app/WEB-INF/classes/
TestPath.class.getClassLoader().getResource("")=file:/D:/workspace/3.com/build/app/WEB-INF/classes/
ClassLoader.getSystemResource("")=null
TestPath.class.getResource("")=file:/D:/workspace/3.com/build/app/WEB-INF/classes/servlet/
TestPath.class.getResource("/")=file:/D:/workspace/3.com/build/app/WEB-INF/classes/
new File("").getAbsolutePath()=D:\eclipse-j2ee-europa
System.getProperty("user.dir")=D:\eclipse-j2ee-europa
tomcat, System.getProperty("user.dir"); %Tomcat_Home%/bin
*/
/** result run at main method :
Thread.currentThread().getContextClassLoader().getResource("")=file:/D:/workspace/3.com/bin/
TestPath.class.getClassLoader().getResource("")=file:/D:/workspace/3.com/bin/
ClassLoader.getSystemResource("")=file:/D:/workspace/3.com/bin/
TestPath.class.getResource("")=file:/D:/workspace/3.com/bin/servlet/
TestPath.class.getResource("/")=file:/D:/workspace/3.com/bin/
new File("").getAbsolutePath()=D:\workspace\3.com
System.getProperty("user.dir")=D:\workspace\3.com
*/
}