提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码

简介: 提取本地路径Jpg或者mp4文件的名字,导入mp4的名字,并导入数据库的源码

1、写一个实体类:imageName,这里用到ArrayList实体类进行排序,因此定义一个类

package zero.file.videoProject.bean.util;
 
public class imageName {
    private String name;
    private int num;
 
    public imageName() {
    }
    public imageName(String name,int num){
        this.name = name;
        this.num = num;
    }
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getNum() {
        return num;
    }
 
    public void setNum(int num) {
        this.num = num;
    }
 
    @Override
    public String toString() {
        return "imageName{" +
                "name='" + name + '\'' +
                ", num=" + num +
                '}';
    }
}

2、用正则表达式提取,ArrayList进行排序,

package zero.file.videoProject.util.test;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import zero.file.videoProject.bean.Student;
import zero.file.videoProject.bean.util.imageName;
import zero.file.videoProject.bean.video;
import zero.file.videoProject.mappers.untils.tonameMapper;
 
import java.io.File;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
    @Autowired
    public tonameMapper tonamejpg;
    @Test
    public void testInsert(){
        Pattern pattern = Pattern.compile("(.+(?=\\.mp4))+");
        Pattern pattern2 = Pattern.compile("^\\d+");
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要处理的文件所在的目录:");
        String folederPath = sc.nextLine();
        File f = new File(folederPath);
//        File f = new File("C:\\Users\\17517\\Videos\\bilibili\\Java");
        File[] fileArray = f.listFiles();
        String name = null;
        String name2 = null;
        List<Integer> list = new ArrayList<Integer>();
        ArrayList<imageName> imageName = new ArrayList<imageName>();
        Map<String,Integer> map = new HashMap<>();
        video video = new video();
        for (int i = 0; i <= fileArray.length - 1; i++) {
            Matcher matcher = pattern.matcher(fileArray[i].getName());
            while (matcher.find()) {
                name = matcher.group();
                Matcher matcher2 = pattern2.matcher(name);
                while (matcher2.find()) {
                    name2 = matcher2.group();
                    int num = Integer.valueOf(name2);
                    imageName s1 = new imageName(name,num);
                    imageName.add(s1);
                    map.put(name,num);
                }
            }
        }
        Collections.sort(imageName, new Comparator<imageName>() {
            @Override
            public int compare(imageName o1, imageName o2) {
                int num = o1.getNum() - o2.getNum();
                return num;
            }
        });
        for (imageName s : imageName){
            System.out.println(s.getName() + "," + s.getNum());
            video.setId(s.getName());
            video.setCategory(s.getName());
            video.setName(s.getName());
            video.setLabel(s.getName());
            tonamejpg.insert(video);
        }
    }
}

效果:用输入文件所在目录

3、就复制好路径,粘贴过去就导入到数据库中了


相关文章
|
4天前
|
Java 数据库连接 数据库
数据库的Host地址怎么看,静态资源路径问题的解决的思路
数据库的Host地址怎么看,静态资源路径问题的解决的思路
|
27天前
|
存储 关系型数据库 数据库
回顾数据库的三级模式,为什么比直接存文件表格好?
【6月更文挑战第10天】本文介绍数据库用于解决Excel等文件系统存在的数据冗余、不一致和访问困难等问题。DBMS中的关系有一对一、一对多、多对一和多对多四种类型。键有候选键、超级键、主键、备用键和外键等类型,功能依赖分为平凡和非平凡两种。
20 0
回顾数据库的三级模式,为什么比直接存文件表格好?
|
15天前
|
存储 关系型数据库 MySQL
|
11天前
|
存储 关系型数据库 MySQL
|
13天前
|
SQL XML 数据库
后端数据库开发高级之通过在xml文件中映射实现动态SQL
后端数据库开发高级之通过在xml文件中映射实现动态SQL
19 3
|
13天前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
28 3
|
17天前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
16天前
|
存储 关系型数据库 MySQL
关系型数据库mysql日志和临时文件
【6月更文挑战第15天】
32 4
|
16天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的数据库课程在线教学的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的数据库课程在线教学的详细设计和实现(源码+lw+部署文档+讲解等)
27 2
|
22天前
|
SQL Oracle 关系型数据库
关系型数据库直接查看日志文件
【6月更文挑战第10天】
51 3