public String getRootFolderDir(String[] paths){
for(int i=0;i<paths.length;i++){
getFolderDir(paths[i]);
}
}
public void getFolderDir(String path) {
System.out.println("path="+path);
File file = new File(path);
System.out.println("fileA="+file);
System.out.println("file:"+file.getName()+",path:"+file.getPath()+",isexists:"+file.exists());
}我使用以上方法,只有第一个数组的值得到的File是正常的,后面的path得到的file可以得到Name和Path,但是file.exists()的值是false;请问这是什么原因造成的,我需要如何修改
file.getName()和file.getPath()是可以正常拿到的,就算文件本身不存在
所以,当文件不存在的时候,file.getName()和file.getPath()也是可以正常拿到的
String comid=request.getParameter("comid");
String[] path=null;
if(comid!=null||comid.length()>0){
paths=ComponentUtil.getCvsPaths(comid);
if(paths!=null&&paths.length>0){
listjsp=cj.getRootFolderDir(paths);
}
}这是调用部分代码public static String[] getCvsPaths(String id){
String[] paths=null;
CVSConfig cvsconfig=null;
String cvspath=null;
try{
cvsconfig=getCVSConfigById(id);
cvspath=cvsconfig.getTitle();
if(cvspath.indexOf(";")!=-1){
paths=cvspath.split(";");
}else{
paths[0]=cvspath;
}
}catch(Exception ex){
ex.printStackTrace();
}
return paths;
}这是得到地址数组的方法
cvsconfig=getCVSConfigById(id);
cvspath=cvsconfig.getTitle();
if(cvspath.indexOf(";")!=-1){
paths=cvspath.split(";");
}else{
paths[0]=cvspath;
}
你给paths[0]赋值了所以第一个是对的。。这里的路径判断会不会有问题呢