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

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

时间:2024-06-15 22:28:52浏览次数:17  
标签:读取 File String 文件夹 file resourceBo directory 上传 filePathList

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

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


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

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<String> filePathList = new ArrayList<>();
        getFile(rootFile, zipFilter, filePathList);
        ArrayList<ResourceBo> 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<String> 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());
        }
    }

标签:读取,File,String,文件夹,file,resourceBo,directory,上传,filePathList
From: https://blog.csdn.net/weixin_42450130/article/details/139709937

相关文章

  • 读取超7100MB/s最高仅51度的长江存储PC411 SSD!雷神MIX PRO迷你机评测
    一、前言:搭载长江存储SSD和酷睿Ultra5125H处理器的雷神迷你机英特尔酷睿Ultra系列移动处理器发布半年之后,搭载它的各路迷你主机陆续出现在消费者面前。最近,雷神带来了全新的MIXPro迷你机,它就搭载了酷睿Ultra5125H处理器,还有广受好评的长江存储PC411SSD。先说SSD!现在我......
  • c# 文件读取
    usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Threading;namespaceProcessMonitoring{publicpartialclassForm2......
  • markdown文件上传到博客园教程
    如何将Markdown文件上传到博客园我们通常喜欢在markdown文件中添加各种图片,随后再将文章上传到博客园中,但是文件经常保存在本地,博客园并无法直接访问到本地的图片,因此通常会出现文件上传失败的事情,为了解决这个问题,本文将会通过vscode的博客园官方插件来上传markdown文件到博客园......
  • 使用 Spring Boot 的yml配置文件读取方式
    在Java项目中读取YML(YAML)配置文件有多种方式,尤其在使用SpringFramework(包括SpringBoot)时,更是提供了丰富的支持。以下是几种常见的方式来读取YML配置文件:1.使用SpringBoot的自动配置SpringBoot提供了对YML文件的自动化支持,这也是最常用的方式。1.1使用@Value......
  • 【Qt】xml文件节点读取
    1.xml文件test.xml文件内容<?xmlversion="1.0"encoding="utf-8"?><library> <book1> <id>00000001</id> <name>1111</name> </book1></library>2.代码voidDataXml::read(){ //打开文件......
  • 浅谈分片上传
    前言分片上传(MultipartUpload)是一种将大文件分成较小片段(称为“分片”)进行上传的技术实现分片上传功能服务端constexpress=require("express");constmulter=require("multer");constfs=require("fs");constpath=require("path");constbodyParser=r......
  • PHP 对一个文件夹中的所有歌曲文件移动到对应的歌手目录中
    move_music_to_singer_folder.php<?php/***对一个文件夹中的所有歌曲文件移动到对应的歌手目录中,歌手按照拼音首字母作为第一级目录.*同时,如果歌手和歌曲中间有空格,则去除空格.*例如:"周杰伦-稻香.mp3"移动到"Z/周杰伦/周杰伦-稻香.mp3"*/try{requi......
  • react-quill 自定义上传图片方法
    react-quill网上找了自定义上传图片的方式。测试后都失败,会报:react-quilladdRange():Thegivenrangeisn'tindocument.解决办法:关键点:在创建实例后,去重新设置image的uploader方法。(蓝色部分)代码: const[content,setContent]=useState('');constquillEdit=use......
  • 前端大文件分断上传
     functionupload(){constfileInput=document.getElementById('fileInput');constfile=fileInput.files[0];constchunkSize=1024*1024;//每个分片的大小,这里设置为1MBconsttotalChunks=Math.ceil(file.size/chunkSize);//总分片数letcurrentCh......
  • 【Java】 探索Java中遍历文件夹的奥秘:获取文件夹内所有文件名
    >>【痕迹】QQ+微信朋友圈和聊天记录分析工具>>(1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。>>(2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。>>(3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。>>下载地......