提取本地路径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、就复制好路径,粘贴过去就导入到数据库中了


相关文章
|
2月前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
453 0
|
13天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
17天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
25天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
102 3
|
1月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
140 2
|
2月前
|
SQL 关系型数据库 MySQL
|
2月前
|
存储 关系型数据库 MySQL
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
43 2
|
3月前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
下一篇
DataWorks