}
----------------------------------------------------------------------------------------------------------------------------------------------------------------
方式一
D:\eclipse\juno_workspace\Test
方式二
D:\eclipse\juno_workspace\Test
D:\eclipse\juno_workspace\Test
方式三
file:/D:/eclipse/juno_workspace/Test/bin/
file:/D:/eclipse/juno_workspace/Test/bin/first/second/
方式四
file:/D:/eclipse/juno_workspace/Test/bin/ (file:/D:/eclipse/juno_workspace/Test/WebRoot/WEB-INF/classes/)
file:/D:/eclipse/juno_workspace/Test/bin/source.xml (file:/D:/eclipse/juno_workspace/Test/WebRoot/WEB-INF/classes/source.xml)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
//获取WebRoot目录
public static String getWebRootPath()
{
URL urlpath=GetPath.class.getResource("");
String path=urlpath.toString();
if(path.startsWith("file"))
{
path=path.substring(5);
}
if(path.indexOf("WEB-INF")>0)
{
path=path.substring(0,path.indexOf("WEB-INF")-1);
}
path.replace("/", File.separator);
return path;
}
//webroot WebRoot目录
//filename 文件名
//...args 文件名所在文件夹,多个参数输入
public static String getWebRootFilepath(String webroot,String filename,String ...args)
{
String pre=webroot;
String path=pre;
for(String arg:args)
{
path+=File.separator+arg;
}
path+=File.separator+filename;
if(path.startsWith("file"))
{
path=path.substring(5);
}
path.replace("/", File.separator);
return path;
}
-----------------------------------------------------------------------------------------------------------------------------------------------------
注意一个问题:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("spring-application.xml");
有些人喜欢使用此方法去加载一个文件,但是这个方法默认是加载编译后的文件的根目录路径,(这里就算指定绝对路径都无效)
如果你的文件不是放在根目录的话,还是按照上面方法去加载相关文件,不然会出现找不到文件的异常。
转自http://blog.csdn.net/appleprince88/article/details/11599805