栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

树结构获取文件目录并判断文件类型工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树结构获取文件目录并判断文件类型工具类

package cn.piesat.safe.common;

import com.alibaba.fastjson.JSONObject;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.net.URLConnection;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
import java.text.SimpleDateFormat;
import java.util.*;

public class FileUtil {
public static void main(String[] args) throws Exception{
File file = new File(“D:公司入职培训”);
List> result = new ArrayList<>();
filedi(file, result, true);
for (Map map : result
) {
System.out.println(JSONObject.toJSONString(map));
}
}

public static void filedi(File file, List> result, boolean status) {

    try {
        File[] files = file.listFiles();
        for (File fileOne : files) {
            Map map = new HashMap<>();
            Integer isDir = fileOne.isFile() ? 1 : 0;
            if (!status && isDir == 1) {
                //如果不需要文件则在此进行返回过滤
                continue;
            }
            List> subdirectory = new ArrayList<>();
            String path = fileOne.getPath();
            map.put("fileName", fileOne.getName());
            map.put("path", fileOne.getPath());
            map.put("fileTime", fileCreateDate(path));
            map.put("isDir", isDir);
            if (isDir==1){
                Path filePath = fileOne.toPath();
                String mimeType = Files.probeContentType(filePath);
                System.out.println(mimeType);
                map.put("fileType", mimeType);
            }
            if (fileOne.isDirectory()) {
                filedi(fileOne, subdirectory, status);
            }
            map.put("subdirectory", subdirectory);
            result.add(map);
        }
    }catch (Exception e){
        e.printStackTrace();
    }
}


public static String fileCreateDate(String filePath){
    Path path= Paths.get(filePath);
    BasicFileAttributeView basicview= Files.getFileAttributeView(path, BasicFileAttributeView.class, LinkOption.NOFOLLOW_LINKS );
    BasicFileAttributes attr;
    try {
        attr = basicview.readAttributes();
        Date createDate = new Date(attr.creationTime().toMillis());
        String format = format(createDate, "yyyy-MM-dd HH:mm:ss");
        return format;

// return createDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

public static String format(Date date, String pattern) {
    SimpleDateFormat sd = new SimpleDateFormat(pattern);
    return sd.format(date);
}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/827255.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号