【上传云】第一步:本地读取文件夹下的文件内容到数据库中

作者 : admin 本文共1233个字,预计阅读时间需要4分钟 发布时间: 2024-06-16 共3人阅读

背景:本地有一些文件,需要上传到云端

这里先介绍第一步:将本地文件夹下的所有文件路径跟文件名都读取到数据库中,为下一步的上传做铺垫

所需:并不需要上传所有格式的文件,故在此步骤里做过滤操作

FileFilter zipFilter = pathname -> !pathname.getName().endsWith(“zxx”);

传文件的路径:   String directory = requestJson.getString(“directory”);
 

public void downLocalResource(@RequestBody JSONObject requestJson) {
        String directory = requestJson.getString("directory");
        File rootFile = new File(directory);
        FileFilter zipFilter = pathname -> !pathname.getName().endsWith("不要想的格式文件");
        List filePathList = new ArrayList();
        getFile(rootFile, zipFilter, filePathList);
        ArrayList resourceList = new ArrayList();
        for (int i = 0; i < filePathList.size(); i++) {
            String filePath = filePathList.get(i);
            ResourceBo resourceBo = new ResourceBo();
            String[] split = filePath.split("\.");
            String[] file = split[0].split("\\");
            resourceBo.setId(XXX+ i);
            resourceBo.setResourceName(file[file.length - 1]);
            resourceBo.setResourceURL(filePath);
            resourceBo.setStatus("N");
            resourceBo.setResourceNumber(file[file.length - 2]);
            resourceList.add(resourceBo);
        }
        数据库.saveBatch(resourceList);
    }

 private void getFile(File file, FileFilter filter, List filePathList) {
        if (file.isDirectory()) {
            File[] files = file.listFiles(filter);
            if (ArrayUtils.isNotEmpty(files)) {
                for (File subFile : files) {
                    getFile(subFile, filter, filePathList);
                }
            }
        } else {
            filePathList.add(file.getAbsolutePath());
        }
    }

本站无任何商业行为
个人在线分享 » 【上传云】第一步:本地读取文件夹下的文件内容到数据库中
E-->