`

Java 判断多级路径是否存在,不存在就创建

    博客分类:
  • Java
阅读更多

Java 判断多级路径是否存在,不存在就创建

 

方案一:

(带文件名的Path:如:D:\news\2014\12\abc.text)

 

public boolean isexitsPath(String path)throws InterruptedException{
    String [] paths=path.split("\\\\");
    StringBuffer fullPath=new StringBuffer();
    for (int i = 0; i < paths.length; i++) {
        fullPath.append(paths[i]).append("\\\\");
        File file=new File(fullPath.toString());
     	if(paths.length-1!=i){//判断path到文件名时,无须继续创建文件夹!
	        if(!file.exists()){
	            file.mkdir();
	            System.out.println("创建目录为:"+fullPath.toString());
	            Thread.sleep(1500);
	        }
     	}
    }
    File file=new File(fullPath.toString());//目录全路径
    if (!file.exists()) {
        return true;
    }else{
        return false;
    }
}

注意:带文件名的path,需要判断是否path中已经包含文件名,若包含,则不再创建文件夹。

 

 

(不带文件名的Path:如:D:\news\2014\12)

public boolean isexitsPath(String path)throws InterruptedException{
    String [] paths=path.split("\\\\");
    StringBuffer fullPath=new StringBuffer();
    for (int i = 0; i < paths.length; i++) {
        fullPath.append(paths[i]).append("\\\\");
        File file=new File(fullPath.toString());
        if(!file.exists()){
            file.mkdir();
            System.out.println("创建目录为:"+fullPath.toString());
            Thread.sleep(1500);
        }
    }
    File file=new File(fullPath.toString());//目录全路径
    if (!file.exists()) {
        return true;
    }else{
        return false;
    }
}

 

方案二:

(带文件名的Path:如:D:\news\2014\12\abc.text)

 public static boolean isExist(String filePath) {
    String paths[] = filePath.split("\\\\");
    String dir = paths[0];
    for (int i = 0; i < paths.length - 2; i++) {//注意此处循环的长度
        try {
            dir = dir + "/" + paths[i + 1];
            File dirFile = new File(dir);
            if (!dirFile.exists()) {
                dirFile.mkdir();
                System.out.println("创建目录为:" + dir);
            }
        } catch (Exception err) {
            System.err.println("ELS - Chart : 文件夹创建发生异常");
        }
    }
    File fp = new File(filePath);
    if(!fp.exists()){
        return true; // 文件不存在,执行下载功能
    }else{
        return false; // 文件存在不做处理
    }
}

 

(不带文件名的Path:如:D:\news\2014\12)

 public static boolean isExist(String filePath) {
    String paths[] = filePath.split("\\\\");
    String dir = paths[0];
    for (int i = 0; i < paths.length - 1; i++) {//注意此处循环的长度
        try {
            dir = dir + "/" + paths[i + 1];
            File dirFile = new File(dir);
            if (!dirFile.exists()) {
                dirFile.mkdir();
                System.out.println("创建目录为:" + dir);
            }
        } catch (Exception err) {
            System.err.println("ELS - Chart : 文件夹创建发生异常");
        }
    }
    File fp = new File(filePath);
    if(!fp.exists()){
        return true; // 文件不存在,执行下载功能
    }else{
        return false; // 文件存在不做处理
    }
}

注意:带文件名不带文件名的处理方式的区别就在于循环的长度上。

 

 

  • 大小: 7.3 KB
  • 大小: 2.2 KB
  • 大小: 11.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics