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;请问这是什么原因造成的,我需要如何修改

解决方案 »

  1.   

    那就说明文件本身不存在?
    file.getName()和file.getPath()是可以正常拿到的,就算文件本身不存在
      

  2.   

    通常要新建一个文件,判断一下存在不存在,不存在就调用file.createNewFile()
    所以,当文件不存在的时候,file.getName()和file.getPath()也是可以正常拿到的
      

  3.   

    这两个文件都是存在的,我把两个文件的路径在数组中的顺序调换一下,原第二个文件的file.exists()就变成true了
      

  4.   


    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;

    }这是得到地址数组的方法
      

  5.   

    有没有可能是这里的问题啊
    cvsconfig=getCVSConfigById(id);
                cvspath=cvsconfig.getTitle();
                if(cvspath.indexOf(";")!=-1){
                paths=cvspath.split(";");
                }else{
                    paths[0]=cvspath;
                }
    你给paths[0]赋值了所以第一个是对的。。这里的路径判断会不会有问题呢