从以下代码中,我们了解到,getResource获得的,都是classes文件的相对路径。
new 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
*/
}
分享到:
相关推荐
我做java web 多年的小记,希望能打大家有用
时间和日期中常用到的几个类: java.util.Date, java.util.Calendar, java.util.GregorainCalendar, java.text.DateFormat, java.text.SimpleDateFormat
记录平时踩过的坑
【咬人草小记,阅读附答案】 咬人草小记阅读答案.docx
linux+java+python3+numpy+stl的3d打印
流程图与控制流图课堂小记.流程图与控制流图课堂小记.流程图与控制流图课堂小记.流程图与控制流图课堂小记.流程图与控制流图课堂小记.流程图与控制流图课堂小记.流程图与控制流图课堂小记.流程图与控制流图课堂小记....
哎,虽然自己熟的是Java,但很多Java基础知识都不知道,比如transient关键字以前都没用到过,所以不知道它的作用是什么,做笔试题时发现有一题是关于这个的,于是花个时间整理下transient关键字的使用,涨下姿势~~~...
TCP-IP小记
很全面的,很实用的,看完提高不少,不管新手老手,都绝对有用
注册的方法如下:在命令行窗口里 运行命令“regsvr32 c:\windows\system32\jmail.dll”,当然文件路径自己指定。 三. 引用:把jmail.dll复制到Web站点的bin目录里,然后给站点添加COM引用。 四. 写代码:类似如下...
Sqlite数据库sqlite3命令小记
随笔小记.doc
python进行爬虫小记,主要用于python快速入门理解。
环境: Linux s12084 2.6.9-67.ELsmp #1 SMP Wed ...小记一下。以备以后参考。 boost 库做得真好。在windows 平台, linux 平台下编译都很顺利。hp aCC 也宣称对 boost 1.35 完全支持 。 全部编译是很痛苦的过程
c语言理论知识小记
GeoStudio学习小记
海居小记
目录与路径拼接3. 遍历目录与子文件4. 过滤序列后缀5. copy文件6. 数据分割实例 1. 创建文件夹 import os 1. 创建文件夹 os.makedirs(new_dir) 实例: os.makedirs("./data") 函数: # 判读路径下是否存在文件夹,没有...
asp.net Jmail组件使用小记