JAvaファイルパスメモ


次のコードから、getResourceが取得したのはclassesファイルの相対パスであることがわかります.
新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

	 */
}