1
.如何获得当前文件路径
常用:
(
1
).Test.
class
.getResource(
""
)
得到的是当前类FileTest.
class
文件的URI目录。不包括自己!
(
2
).Test.
class
.getResource(
"/"
)
得到的是当前的classpath的绝对URI路径。
(
3
).Thread.currentThread().getContextClassLoader().getResource(
""
)
得到的也是当前ClassPath的绝对URI路径。
(
4
).Test.
class
.getClassLoader().getResource(
""
)
得到的也是当前ClassPath的绝对URI路径。
(
5
).ClassLoader.getSystemResource(
""
)
得到的也是当前ClassPath的绝对URI路径。
尽量不要使用相对于System.getProperty(
"user.dir"
)当前用户目录的相对路径,后面可以看出得出结果五花八门。
(
6
)
new
File(
""
).getAbsolutePath()也可用。
2
.Web服务器
(
1
).Tomcat
在类中输出System.getProperty(
"user.dir"
);显示的是%Tomcat_Home%/bin
(
2
).Resin
不是你的JSP放的相对路径,是JSP引擎执行这个JSP编译成SERVLET
的路径为根.比如用新建文件法测试File f =
new
File(
"a.htm"
);
这个a.htm在resin的安装目录下
(
3
).如何读文件
使用ServletContext.getResourceAsStream()就可以
(
4
).获得文件真实路径
String file_real_path=ServletContext.getRealPath(
"mypath/filename"
);
不建议使用request.getRealPath(
"/"
);
3
.文件操作的类,不建议使用,可以使用commons io类