/**
@author
*
*/
public class DAOFactory {
private Map daoMap = new HashMap();
private static DAOFactory df;
/**
@param path
*/
private DAOFactory(String path) {
try {
SAXReader saxr = new SAXReader();
Document doc = saxr.read(new File(path + "/daoContext.xml"));
} catch (Exception e) {
System.out.println("DAOFACTIRY创建出错!!!");
e.printStackTrace();
}
}
/**
说来也怪,以前都是可以的,最近重装系统后,tomcat6.0 ,myEclipse6.0 等都重装后,就报这个错误了
[b]问题补充:[/b]
现在是在windows上面,以后还要部署到linux上的,把路径写死的,不大好啊
我的意思不是说把路径写死,
是给你定位问题,
这个获得路径的方法写得有问题
public static String myPath(){
URL u = DAOFactory.class.getClassLoader().getResource(".");
String path= new File( u.getFile()).getParent()+"/webapps/BTrankLine/WEB-INF";
return path;
}
看看这文章提供的解决方案,很好用
Java路径问题最终解决方案—可定位所有资源的相对路径寻址
http://blog.csdn.net/shendl/archive/2006/12/03/1427475.aspx
%20 代表空格
你这个如果不显示 %20 而显示空格应该就应该不会报错。
正如你所说,你以前是可以的。
如果实在不行,你把这些[color=red]文件夹名[/color]有空格的,都改成没有空格的保存。
比如 File Item 改成 FileItem
这样看看还有问题没。。
另外 你解决是什么地方原因 %20
个人理解 :wink:
这个就是目录名空格问题,
你传进去的path是有问题的,应该是没有这种空格字符才对
你可以试试看这样就没问题应该,就可以说明是你的path参数传得有问题
String p =
"C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\BTrankLine\WEB-INF\daoContext.xml";
SAXReader saxr = new SAXReader();
Document doc = saxr.read(new File(p));