C#文件拷贝工具

目录

工具介绍

工具背景

4个文件介绍

CopyTheSpecifiedSuffixFiles.exe.config

DataSave.txt

拷贝的存储方式

文件夹介绍

源文件夹

目标文件夹

结果

使用 *.mp4

使用 *.*

重名时坚持拷贝

可能的报错

C#代码如下

Form1.cs

Form1.cs设计

APP.config

Program.cs

Form1.Designer.cs


工具介绍


工具背景

你知道为啥我今天突然写这个吗?

我昨天下载视频,发现他全部都是分文件夹存的,一个一个开太麻烦了呢,今天就写了这个哈哈哈,全部拿出来,一下子就能全部添加到播放列表了!

只拷贝指定文件后缀的东西到新的文件夹里面,不管你原来的文件夹里面都多少个子文件夹都能给你把需要的文件复制出来(但是不会复制子文件夹,即不会复制原来的存储结构,我特意这么做的)!

你上次选的这四个选项,他会记住,后面再打开就是上次的位置。


4个文件介绍


CopyTheSpecifiedSuffixFiles.exe.config

相信你一眼就能看出来这个是干什么的了,没错!这个是这个软件的默认配置,当然你也可以在DataSave.txt中改动。


DataSave.txt

一开始是没有的,后面自动生成的哦~


拷贝的存储方式

1. 保留原文件(保留目标文件夹的重名文件)

2. 替换文件(替换目标文件夹的重名文件)

3. 保留并自动增加文件名称(拷贝的时候,后面会在后面加上_1区分,如下图)

只拷贝指定文件后缀的东西到新的文件夹里面,不管你原来的文件夹里面都多少个子文件夹都能给你把需要的文件复制出来(但是不会复制子文件夹,即不会复制原来的存储结构,我特意这么做的)!(重要的事情说两遍!为啥不说三遍?哈哈哈 因为没有因为 0.o)


文件夹介绍


源文件夹


目标文件夹


结果


使用 *.mp4


使用 *.*


重名时坚持拷贝


可能的报错

https://static.dingtalk.com/media/lQLPJwXpP0_CCKDM-80B8LDvicO4vGzluQTtO_QiALoA_496_251.png

因为你缺失这个东西,下载下就行了,一个底层的小玩意儿


C#代码如下

不想一点点弄可以直接下载上传的资源。


Form1.cs

using System;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;namespace CopyTheSpecifiedSuffixFiles
{public partial class frmCopyFiles : Form{public frmCopyFiles(){InitializeComponent();}private Stopwatch stopwatch = new Stopwatch();public void btnCopy_Click(object sender, EventArgs e){// 创建 Stopwatch 对象stopwatch = new Stopwatch();// 开始计时stopwatch.Start();lblResDesc.ForeColor = System.Drawing.Color.Red;lblResDesc.Text = "正在拷贝,请稍等...";this.Refresh();string sourceFolderPath = txtSourceFolderPath.Text;string destinationFolderPath = txtDestinationFolderPath.Text;// 检查文件夹是否存在,不存在直接创建空的文件夹if (!Directory.Exists(sourceFolderPath)) Directory.CreateDirectory(sourceFolderPath);if (!Directory.Exists(destinationFolderPath)) Directory.CreateDirectory(destinationFolderPath);// 编辑txt文件并写入两个字符串string filePath = "DataSave.txt";// 写入文件using (StreamWriter writer = new StreamWriter(filePath)){writer.WriteLine(sourceFolderPath);writer.WriteLine(destinationFolderPath);writer.WriteLine(cboSuffixSelect.Text);writer.WriteLine(txtSuffixInfo.Text);writer.Flush(); // 刷新缓冲区,确保数据被写入文件}// 拷贝目标文件夹内部所有的.mp4文件至新文件夹中CopyFiles(sourceFolderPath, destinationFolderPath);lblResDesc.ForeColor = System.Drawing.Color.Green;lblResDesc.Text = "文件拷贝完成!";// 停止计时stopwatch.Stop();// 获取耗时TimeSpan elapsedTime = stopwatch.Elapsed;MessageBox.Show("文件拷贝完成!\n" + "程序执行耗时: " + Math.Round(elapsedTime.TotalMilliseconds / 1000, 1) + " 秒");}// 递归拷贝目标文件夹及其子文件夹中的所有.mp4文件至新文件夹中public void CopyFiles(string sourceFolderPath, string destinationFolderPath){int fileCount = 1; // 记录已存在的文件数量// 获取文件列表string[] files = Directory.GetFiles(sourceFolderPath, txtSuffixInfo.Text);foreach (string file in files){string fileName = Path.GetFileName(file);string destinationFilePath = Path.Combine(destinationFolderPath, fileName);if (File.Exists(destinationFilePath)){string input = cboSuffixSelect.Text;if (input == "1. 保留原文件"){continue; // 保留原文件,跳过拷贝}else if (input == "2. 替换文件"){File.Copy(file, destinationFilePath, true); // 替换文件}else if (input == "3. 保留并自动增加文件名称"){string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileName);string fileExtension = Path.GetExtension(fileName);string newFileName = $"{fileNameWithoutExtension}_{fileCount}{fileExtension}";fileCount++;destinationFilePath = Path.Combine(destinationFolderPath, newFileName);try{File.Copy(file, destinationFilePath); // 拷贝文件}catch (Exception e){MessageBox.Show(e.Message);}}else{MessageBox.Show("请输入正确的选项!");Application.Exit();}}else{File.Copy(file, destinationFilePath); // 拷贝文件}}string[] subDirectories = Directory.GetDirectories(sourceFolderPath);foreach (string subDirectory in subDirectories){CopyFiles(subDirectory, destinationFolderPath);}}public void Form1_Load(object sender, EventArgs e){// 添加选项到 ComboBoxcboSuffixSelect.Items.Add("1. 保留原文件");cboSuffixSelect.Items.Add("2. 替换文件");cboSuffixSelect.Items.Add("3. 保留并自动增加文件名称");// 设置默认选中项cboSuffixSelect.SelectedIndex = 2;// 创建一个txt文件并写入两个字符串string filePath = "DataSave.txt";// 检查文件是否存在if (!File.Exists(filePath)){// 创建文件并写入初始内容using (StreamWriter writer = new StreamWriter(filePath)){writer.WriteLine(ConfigurationManager.AppSettings["SourceFolderPath"]);writer.WriteLine(ConfigurationManager.AppSettings["DestinationFolderPath"]);writer.WriteLine(ConfigurationManager.AppSettings["CopyStytle"]);writer.WriteLine(ConfigurationManager.AppSettings["SuffixType"]);}}// 读取文件并输出每行内容using (StreamReader reader = new StreamReader(filePath)){txtSourceFolderPath.Text = reader.ReadLine(); // 读取第一行内容txtDestinationFolderPath.Text = reader.ReadLine(); // 读取第二行内容cboSuffixSelect.Text = reader.ReadLine();txtSuffixInfo.Text = reader.ReadLine();}}public void btnChooseSourcePath_Click(object sender, EventArgs e){FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();// 设置对话框的描述文本folderBrowserDialog.Description = "选择文件夹";// 显示对话框并获取用户选择的路径DialogResult result = folderBrowserDialog.ShowDialog();if (result == DialogResult.OK){string selectedFolderPath = folderBrowserDialog.SelectedPath;txtSourceFolderPath.Text = selectedFolderPath;}}public void btnChooseTargetPath_Click(object sender, EventArgs e){FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();folderBrowserDialog.Description = "选择文件夹";DialogResult result = folderBrowserDialog.ShowDialog();if (result == DialogResult.OK){string selectedFolderPath = folderBrowserDialog.SelectedPath;txtDestinationFolderPath.Text = selectedFolderPath;}}private void btnClose_Click(object sender, EventArgs e){Application.Exit();}}
}

Form1.cs设计


APP.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration><appSettings><!--源文件夹--><add key="SourceFolderPath" value="D:\Code_VS2019\测试文件夹"/><!--目标文件夹--><add key="DestinationFolderPath" value="C:\Users\xxxxx\Desktop\拷贝结果"/><!--复制方式--><add key="CopyStytle" value="3. 保留并自动增加文件名称"/><!--后缀格式--><add key="SuffixType" value="*.mp4"/></appSettings><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /></startup>
</configuration>

Program.cs

using System;
using System.Windows.Forms;namespace CopyTheSpecifiedSuffixFiles
{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new frmCopyFiles());}}
}

Form1.Designer.cs


namespace CopyTheSpecifiedSuffixFiles
{partial class frmCopyFiles{/// <summary>/// 必需的设计器变量。/// </summary>private System.ComponentModel.IContainer components = null;/// <summary>/// 清理所有正在使用的资源。/// </summary>/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>protected override void Dispose(bool disposing){if (disposing && (components != null)){components.Dispose();}base.Dispose(disposing);}#region Windows 窗体设计器生成的代码/// <summary>/// 设计器支持所需的方法 - 不要修改/// 使用代码编辑器修改此方法的内容。/// </summary>private void InitializeComponent(){this.btnCopy = new System.Windows.Forms.Button();this.cboSuffixSelect = new System.Windows.Forms.ComboBox();this.txtSourceFolderPath = new System.Windows.Forms.TextBox();this.txtDestinationFolderPath = new System.Windows.Forms.TextBox();this.lblSourceDesc = new System.Windows.Forms.Label();this.lblTargetDesc = new System.Windows.Forms.Label();this.btnChooseSourcePath = new System.Windows.Forms.Button();this.btnChooseTargetPath = new System.Windows.Forms.Button();this.lblSaveSelectDesc = new System.Windows.Forms.Label();this.lblSuffixSelectDesc = new System.Windows.Forms.Label();this.txtSuffixInfo = new System.Windows.Forms.TextBox();this.lblSuffixInfoDesc = new System.Windows.Forms.Label();this.lblResDesc = new System.Windows.Forms.Label();this.btnClose = new System.Windows.Forms.Button();this.SuspendLayout();// // btnCopy// this.btnCopy.AutoSize = true;this.btnCopy.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.btnCopy.Location = new System.Drawing.Point(494, 52);this.btnCopy.Name = "btnCopy";this.btnCopy.Size = new System.Drawing.Size(107, 52);this.btnCopy.TabIndex = 0;this.btnCopy.Text = "拷贝";this.btnCopy.UseVisualStyleBackColor = true;this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);// // cboSuffixSelect// this.cboSuffixSelect.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.cboSuffixSelect.FormattingEnabled = true;this.cboSuffixSelect.Location = new System.Drawing.Point(107, 148);this.cboSuffixSelect.Name = "cboSuffixSelect";this.cboSuffixSelect.Size = new System.Drawing.Size(198, 22);this.cboSuffixSelect.TabIndex = 1;// // txtSourceFolderPath// this.txtSourceFolderPath.Location = new System.Drawing.Point(107, 40);this.txtSourceFolderPath.Name = "txtSourceFolderPath";this.txtSourceFolderPath.Size = new System.Drawing.Size(302, 21);this.txtSourceFolderPath.TabIndex = 2;// // txtDestinationFolderPath// this.txtDestinationFolderPath.Location = new System.Drawing.Point(107, 94);this.txtDestinationFolderPath.Name = "txtDestinationFolderPath";this.txtDestinationFolderPath.Size = new System.Drawing.Size(300, 21);this.txtDestinationFolderPath.TabIndex = 3;// // lblSourceDesc// this.lblSourceDesc.AutoSize = true;this.lblSourceDesc.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.lblSourceDesc.Location = new System.Drawing.Point(27, 42);this.lblSourceDesc.Name = "lblSourceDesc";this.lblSourceDesc.Size = new System.Drawing.Size(76, 16);this.lblSourceDesc.TabIndex = 4;this.lblSourceDesc.Text = "源文件夹";// // lblTargetDesc// this.lblTargetDesc.AutoSize = true;this.lblTargetDesc.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.lblTargetDesc.Location = new System.Drawing.Point(12, 96);this.lblTargetDesc.Name = "lblTargetDesc";this.lblTargetDesc.Size = new System.Drawing.Size(93, 16);this.lblTargetDesc.TabIndex = 5;this.lblTargetDesc.Text = "目标文件夹";// // btnChooseSourcePath// this.btnChooseSourcePath.AutoSize = true;this.btnChooseSourcePath.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.btnChooseSourcePath.Location = new System.Drawing.Point(415, 37);this.btnChooseSourcePath.Name = "btnChooseSourcePath";this.btnChooseSourcePath.Size = new System.Drawing.Size(52, 26);this.btnChooseSourcePath.TabIndex = 6;this.btnChooseSourcePath.Text = "选择";this.btnChooseSourcePath.UseVisualStyleBackColor = true;this.btnChooseSourcePath.Click += new System.EventHandler(this.btnChooseSourcePath_Click);// // btnChooseTargetPath// this.btnChooseTargetPath.AutoSize = true;this.btnChooseTargetPath.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.btnChooseTargetPath.Location = new System.Drawing.Point(415, 91);this.btnChooseTargetPath.Name = "btnChooseTargetPath";this.btnChooseTargetPath.Size = new System.Drawing.Size(52, 26);this.btnChooseTargetPath.TabIndex = 7;this.btnChooseTargetPath.Text = "选择";this.btnChooseTargetPath.UseVisualStyleBackColor = true;this.btnChooseTargetPath.Click += new System.EventHandler(this.btnChooseTargetPath_Click);// // lblSaveSelectDesc// this.lblSaveSelectDesc.AutoSize = true;this.lblSaveSelectDesc.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.lblSaveSelectDesc.Location = new System.Drawing.Point(27, 151);this.lblSaveSelectDesc.Name = "lblSaveSelectDesc";this.lblSaveSelectDesc.Size = new System.Drawing.Size(76, 16);this.lblSaveSelectDesc.TabIndex = 8;this.lblSaveSelectDesc.Text = "存储方式";// // lblSuffixSelectDesc// this.lblSuffixSelectDesc.AutoSize = true;this.lblSuffixSelectDesc.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.lblSuffixSelectDesc.Location = new System.Drawing.Point(27, 205);this.lblSuffixSelectDesc.Name = "lblSuffixSelectDesc";this.lblSuffixSelectDesc.Size = new System.Drawing.Size(76, 16);this.lblSuffixSelectDesc.TabIndex = 9;this.lblSuffixSelectDesc.Text = "填入后缀";// // txtSuffixInfo// this.txtSuffixInfo.Location = new System.Drawing.Point(107, 203);this.txtSuffixInfo.Name = "txtSuffixInfo";this.txtSuffixInfo.Size = new System.Drawing.Size(131, 21);this.txtSuffixInfo.TabIndex = 10;// // lblSuffixInfoDesc// this.lblSuffixInfoDesc.AutoSize = true;this.lblSuffixInfoDesc.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.lblSuffixInfoDesc.ForeColor = System.Drawing.Color.DodgerBlue;this.lblSuffixInfoDesc.Location = new System.Drawing.Point(270, 206);this.lblSuffixInfoDesc.Name = "lblSuffixInfoDesc";this.lblSuffixInfoDesc.Size = new System.Drawing.Size(122, 14);this.lblSuffixInfoDesc.TabIndex = 11;this.lblSuffixInfoDesc.Text = "填入格式:*.mp4";// // lblResDesc// this.lblResDesc.AutoSize = true;this.lblResDesc.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.lblResDesc.ForeColor = System.Drawing.Color.Green;this.lblResDesc.Location = new System.Drawing.Point(338, 151);this.lblResDesc.Name = "lblResDesc";this.lblResDesc.Size = new System.Drawing.Size(263, 16);this.lblResDesc.TabIndex = 12;this.lblResDesc.Text = "请选择相应参数并点击拷贝按钮!";// // btnClose// this.btnClose.AutoSize = true;this.btnClose.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));this.btnClose.Location = new System.Drawing.Point(494, 184);this.btnClose.Name = "btnClose";this.btnClose.Size = new System.Drawing.Size(107, 52);this.btnClose.TabIndex = 13;this.btnClose.Text = "关闭";this.btnClose.UseVisualStyleBackColor = true;this.btnClose.Click += new System.EventHandler(this.btnClose_Click);// // frmCopyFiles// this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;this.ClientSize = new System.Drawing.Size(614, 258);this.Controls.Add(this.btnClose);this.Controls.Add(this.lblResDesc);this.Controls.Add(this.lblSuffixInfoDesc);this.Controls.Add(this.txtSuffixInfo);this.Controls.Add(this.lblSuffixSelectDesc);this.Controls.Add(this.lblSaveSelectDesc);this.Controls.Add(this.btnChooseTargetPath);this.Controls.Add(this.btnChooseSourcePath);this.Controls.Add(this.lblTargetDesc);this.Controls.Add(this.lblSourceDesc);this.Controls.Add(this.txtDestinationFolderPath);this.Controls.Add(this.txtSourceFolderPath);this.Controls.Add(this.cboSuffixSelect);this.Controls.Add(this.btnCopy);this.Name = "frmCopyFiles";this.Text = "文件拷贝工具";this.Load += new System.EventHandler(this.Form1_Load);this.ResumeLayout(false);this.PerformLayout();}#endregionprivate System.Windows.Forms.Button btnCopy;private System.Windows.Forms.ComboBox cboSuffixSelect;private System.Windows.Forms.TextBox txtSourceFolderPath;private System.Windows.Forms.TextBox txtDestinationFolderPath;private System.Windows.Forms.Label lblSourceDesc;private System.Windows.Forms.Label lblTargetDesc;private System.Windows.Forms.Button btnChooseSourcePath;private System.Windows.Forms.Button btnChooseTargetPath;private System.Windows.Forms.Label lblSaveSelectDesc;private System.Windows.Forms.Label lblSuffixSelectDesc;private System.Windows.Forms.TextBox txtSuffixInfo;private System.Windows.Forms.Label lblSuffixInfoDesc;private System.Windows.Forms.Label lblResDesc;private System.Windows.Forms.Button btnClose;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/127973.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【UI自动化测试】Jenkins配置

前一段时间帮助团队搭建了UI自动化环境&#xff0c;这里将Jenkins环境的一些配置分享给大家。 背景&#xff1a; 团队下半年的目标之一是实现自动化测试&#xff0c;这里要吐槽一下&#xff0c;之前开发的测试平台了&#xff0c;最初的目的是用来做接口自动化测试和性能测试&…

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述

【FusionInsight 迁移】HBase从C50迁移到6.5.1&#xff08;01&#xff09;迁移概述 HBase从C50迁移到6.5.1&#xff08;01&#xff09;迁移概述迁移范围迁移前的准备HDFS文件检查确认HBase迁移目录确保数据落盘停止老集群HBase服务停止新集群HBase服务 HBase从C50迁移到6.5.1&a…

时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化

时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化 目录 时序分解 | MATLAB实现基于LMD局部均值分解的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 LMD局部均值分解 直接替换Excel即可运行包含频谱图相关系数图 Matlab语言 1.算法新颖…

分享配置FreeRTOSConfig.h文件因部分宏值配置不对以及相应函数未定义出现的三个错误解决方法

今天来分享一个在创建FreeRTOS时候调用官方的FreeRTOSConfig头文件时&#xff0c;因部分宏值的配置与FreeRTOS内核文件中的函数不匹配&#xff0c;导致编译时候出现了相应的错误。 于是&#xff0c;既然遇到了&#xff0c;就准备拿出来讲一下&#xff0c;让其他遇到的小伙伴也…

Docker的架构描述与安装部署

概述 Docker是一个开放的容器化平台&#xff0c;其提供能力轻松地支撑业务应用的开发、打包、装载、分发以及运行&#xff0c;在DevOps领域中&#xff0c;docker能高效地应对业务应用的持续集成以及持续发布&#xff08;CI/CD&#xff09;&#xff0c;其架构如下所示&#xff…

被百度判定为低质量网站了!如何整改?

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 先说结论&#xff1a;接受现实&#xff0c;不要幻想百度恢复了! 百度自9月初大批量删除百度资源平台权限以来&#xff0c;几乎90%(未经证实**&#xff0c;但数量确实不小)的网站都被取消了权限&am…

2023 IntelliJ IDEA下载、安装教程, 附详细图解

文章目录 下载与安装IDEA推荐阅读 下载与安装IDEA 首先先到官网下载最新版的IntelliJ IDEA, 下载后傻瓜式安装就好了 官网下载地址&#xff1a;https://www.jetbrains.com/ 1、下载完后在本地找到该文件&#xff0c;双击运行 idea 安装程序 2、点击 Next 3、选择安装路径&…

C++ 多线程 学习笔记

线程睡眠很稳定&#xff0c;但无线程睡眠不稳定 线程调用类方法&#xff1a; 有参数时调用方法&#xff1a; 当参数为引用时&#xff1a; 当同一资源被多个线程同时引用时&#xff0c;为防止资源抢占&#xff0c;使用mutex&#xff0c;互斥锁 头文件#include "mutex"…

Java中的锁

Java中的锁 乐观锁 乐观锁看待多线程访问同一资源的态度是乐观的&#xff0c;乐观锁假设线程访问同一资源时不会产生冲突^ 冲突&#xff0c;所以线程在访问资源时没有加锁同时也不会阻塞&#xff0c;但是乐观锁也是认为冲突^ 冲突还是有可能发生的&#xff0c;因此存在版本号…

浏览器中怎样查看前后端传值

路径&#xff1a;F12–>Network -->Fetch/XHR,选择一个接口地址。 在payload里面是前端发送给后端的参数。也即客户端发送给服务端的请求数据&#xff0c;即接口地址入参。 Preview和Response里都是后端返回给前端的。Preview是格式化过的&#xff0c;比较容易看。Resp…

初学python(一)

一、python的背景和前景 二、 python的一些小事项 1、在Java、C中&#xff0c;2 / 3 0&#xff0c;也就是整数 / 整数 整数&#xff0c;会把小数部分舍掉。而在python中2 / 3 0.66666.... 不会舍掉小数部分。 在编程语言中&#xff0c;浮点数遵循IEEE754标准&#xff0c;不…

[Linux]文件系统

[Linux]文件系统 文件系统是操作系统的一部分&#xff0c;负责组织、存储和管理存储在外部设备上的文件和目录&#xff0c;也就是操作系统管理外设中的文件的策略。本文讲解的是Ext2文件系统。Linux操作系统使用的就是Ext系列的文件系统。 文章目录 [Linux]文件系统了解磁盘结构…

【C++杂货铺】探索stack和queue的底层实现

文章目录 一、stack的介绍和使用1.1 stack的介绍1.2 stack的使用1.2.1 最小栈1.2.2 栈的压入、弹出序列1.2.3 逆波兰表达式求值1.2.4 用栈实现队列 二、queue的介绍和使用2.1 queue的介绍2.2 queue的使用2.2.1 二叉树的层序遍历 三、模拟实现3.1 stack模拟实现3.2 queue模拟实现…

Spine2D骨骼动画播放器 - 微信小程序版

Spine2D骨骼动画播放器 - 微信小程序版 简介平台支持 界面预览使用说明演示视频 版本笨笨的小目标&#xff08;废话&#xff09;参考资料测试文件百度盘分享 相关文档 简介 本播放器是SpinePlayer的微信小程序版。由于官方并没有提供现成的运行库&#xff0c;只能自己改造。 设…

Jobs Portal求职招聘系统源码v3.5版本

Jobs Portal求职招聘系统 是为求职者和公司发布职位而开发的交互式求职招聘源码。它使求职者能够发布简历、搜索工作、查看个人工作列表。 它将提供各种公司在网站上放置他们的职位空缺资料&#xff0c;并且还可以选择搜索候选人简历。 除此之外&#xff0c;还有一个管理模块供…

JAVASE---抽象类和接口

抽象类 抽象类的概念 在面向对象的概念中&#xff0c;所有的对象都是通过类来描绘的&#xff0c;但是反过来&#xff0c;并不是所有的类都是用来描绘对象的&#xff0c;如果一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这样的类就是抽象类。 抽象类语法 在…

振弦采集仪应用地铁隧道安全监测详细解决方案

振弦采集仪应用地铁隧道安全监测详细解决方案 随着城市化进程的不断加快&#xff0c;地铁作为一种高效、便捷、环保的交通方式已经成为现代城市不可或缺的一部分。因此&#xff0c;对地铁的安全性也越来越重视&#xff0c;一般二三线以上的城市在不断发展中&#xff0c;地铁做…

MIT的智慧,利用深度学习来解决了交通堵塞

导读大家都对交通阻塞深恶痛绝。除了让人头疼和错过约会之外&#xff0c;交通拥堵让美国的司机每年多花3000亿美元。 研究人员建议大家使用自动驾驶汽车&#xff0c;即使数量占比并不大&#xff0c;但也能大大改善交通拥堵情况。 Lex Fridman和他的MIT团队开发了一款模拟游戏来…

【大数据实训】用Hbase模拟电影搜索引擎(四)

博主介绍&#xff1a;✌全网粉丝6W,csdn特邀作者、博客专家、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于大数据技术领域和毕业项目实战✌ &#x1f345;文末获取项目联系&#x1f345; 《云计算与大数据处理》课程大作业评分表 项目考核内…

centos 端口被占用的快速排查方式

问题笔记 centos 端口被占用的快速排查方式 centos 端口被占用的快速排查方式 这里说一个我刚刚遇到的问题&#xff0c;解决步骤用来记录&#xff0c;方便以后自己查询。 nginx配置完index.html测试文件&#xff0c;发现一直显示的404页面。 我跑到服务器上想重启一下nginx …