网站首页> 博客> java循环创建不存在的文件夹

java循环创建不存在的文件夹

好文 2175
Ibug
Ibug 2018-08-17
收藏

package com.util;


import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;


import org.apache.commons.io.FileUtils;

import org.springframework.util.Assert;

import org.springframework.web.multipart.MultipartFile;


/**

 * 文件工具类

 * 

 * @author wanghm

 *

 */

public class FileUtil extends FileUtils {


/**

* 循环创建不存在的文件夹

* @param dirPath

*/

public static void dirExistOrCreate(String dirPath){

List list = new ArrayList();

addNotExistPath(dirPath, list);

//创建不存在的文件夹

for(int i = list.size() - 1; i >= 0; i--){

boolean mkdirs = new File(list.get(i)).mkdirs();

System.out.println("文件夹[" + list.get(i) + "]创建[" + (mkdirs ? "成功" : "失败") + "]!");

}

}

/**

* 添加不存在的文件夹路径到list集合

* @param dirPath

* @param list

*/

private static void addNotExistPath(String dirPath, List list){

File file = new File(dirPath);

if(!file.exists()){

if(list == null){

list = new ArrayList();

}

// System.out.println("===> " + dirPath);

list.add(dirPath);

dirPath = file.getParent();

addNotExistPath(dirPath, list);

}

}

/**

* 保存文件

* @param mf

* @param fileName 如c:/a/b/c/2.txt

* @throws IOException 

* @throws IllegalStateException 

*/

public static void saveFile(MultipartFile mf, String fileName) throws IllegalStateException, IOException{

Assert.notNull(mf, "MultipartFile 为空");

if(StringUtils.isBlank(fileName)){

throw new RuntimeException("文件名为空");

}

dirExistOrCreate(new File(fileName).getParent());

mf.transferTo(new File(fileName));

}

}


  • 没有任何评论
个评论
Ibug

Ibug (青铜)

90金币 (5)粉丝 (39)源码

(该家伙很懒,什么也没说!)

 

加入微信群,不定期分享源码和经验
签到活跃榜 连续签到送额外金币
最新博客
校园跑腿系统外卖系统软件平台大学生创业平台搭建 455
壹脉销客智能名片CRM系统小程序可二开源码交付部署 438
为啥没搞了 646
Nginx 的 5 大应用场景,太实用了! 922
CentOS 8-stream 安装Postgresql 详细教程 1079
JAVA智慧校园管理系统小程序源码 电子班牌 Sass 模式 1048
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 792
Java智慧校园系统源码 智慧校园源码 智慧学校源码 智慧校园管理系统源码 小程序+电子班牌 775
致远OA权限 1261
发博客会有金币吗 807