文件夹工具类

1.文件夹工具类

1.1 pom依赖

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
        </dependency>

1.2demo案例

          1.  //文件路径 /Users/administrator/IDEA3/ms-cloud-standard-erp/ms-erp-modules/ms-erp-manager/src/main/resources
            String path = localPath+File.separator+backupName;
            //生成文件夹
            FileUtil.createFolder(path);
            
            
           2.
               //本地项目路径
    private static final String localPath = System.getProperty("user.dir") + File.separator + "ms-erp-modules" + File.separator + "ms-erp-manager";
                       //包路径
            String path = localPath + File.separator + backupName;
           //删除文件夹
            FileUtil.removeDirectory(new File(path));
            
            

1.3文件夹工具类

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import java.io.*;
import java.util.Collection;
import java.util.Iterator;

/**
 * @ClassName FileUtil
 * @description: 文件工具
 * @author: qsong
 * @create: 2020-11-12 11:32
 * @Version 1.0
 **/
public class FileUtil {
    private static final Logger logger = LogManager.getLogger(FileUtil.class);

    /**
     * InputStream转byte
     * @param input
     * @return
     * @throws IOException
     */
    public static byte[] inputStreamToByteArray(InputStream input)
            throws IOException{
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        copy(input, output);
        return output.toByteArray();
    }
    private static int copy(InputStream input, OutputStream output)throws IOException{
        byte[] buffer = new byte[4096];
        long count = 0L;
        int n = 0;
        while (-1 != (n = input.read(buffer))) {
            output.write(buffer, 0, n);
            count += n;
        }
        if (count > 2147483647L) {
            return -1;
        }
        return (int)count;
    }

    /**
     * 生成文件夹
     * @param
     */
    public static Boolean createFolder(String path){

        //生成文件目录
        File dirFile  = new File( path);
        if (!(dirFile.exists()) && !(dirFile.isDirectory())){
            dirFile.mkdirs();
            return true;
        }
        return false;
    }


    /**
     * 获取文件的目录,不忽略分割符
     * @param fullFileName 完整路径名称
     */
    public static String getFullPath(String fullFileName){
        if(fullFileName != null && !"".equals(fullFileName.trim())){
            return FilenameUtils.getFullPath(fullFileName);

        }
        return "";

    }


    /**
     * 删除目录
     * @param
     */
    public static Boolean removeDirectory(File dir){
        Boolean state = null;
        if(dir.isDirectory()){
            state = FileUtils.deleteQuietly(dir);
            if(state == false){
                //清空内容
                String[] extensions = null;//后缀名{"doc", "pdf"}
                boolean recursive = true;//是否递归

                Collection<File> files = FileUtils.listFiles(dir, extensions, recursive);
                // 迭代输出
                for (Iterator<File> iterator = files.iterator(); iterator.hasNext();) {
                    File file = iterator.next();
                    if(!file.isHidden()){//不是隐蔽文件
                        //清空内容
                        try {
                            FileUtils.writeStringToFile(file, "", "UTF-8");
                            state = file.delete();

                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            //	e.printStackTrace();
                            if (logger.isErrorEnabled()) {
                                logger.error("删除目录",e);
                            }
                        }
                    }
                }
            }
        }
        return state;
    }
    /**
     * @Author qsong
     * @Description 获取文件的大小
     * @Date 下午1:48 2020/11/20
     * @Param
     * @return 返回KB大小
     **/
    public static  Long getFileSize(File file){
        if(file.exists()&&file.isFile()){
            return file.length()/1024;
        }
        return -1L;
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值