C#文件拷贝工具

这篇具有很好参考价值的文章主要介绍了C#文件拷贝工具。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

工具介绍

工具背景

4个文件介绍

CopyTheSpecifiedSuffixFiles.exe.config

DataSave.txt

拷贝的存储方式

文件夹介绍

源文件夹

目标文件夹

结果

使用 *.mp4

使用 *.*

重名时坚持拷贝

可能的报错

C#代码如下

Form1.cs

Form1.cs设计

APP.config

Program.cs

Form1.Designer.cs


工具介绍

C#文件拷贝工具,C# Java VB,c#


工具背景

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

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

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

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


4个文件介绍

C#文件拷贝工具,C# Java VB,c#


CopyTheSpecifiedSuffixFiles.exe.config

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

C#文件拷贝工具,C# Java VB,c#


DataSave.txt

C#文件拷贝工具,C# Java VB,c#

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


拷贝的存储方式

C#文件拷贝工具,C# Java VB,c#

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

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

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

C#文件拷贝工具,C# Java VB,c#

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


文件夹介绍


源文件夹

C#文件拷贝工具,C# Java VB,c#


目标文件夹

C#文件拷贝工具,C# Java VB,c#


结果


使用 *.mp4

C#文件拷贝工具,C# Java VB,c#

C#文件拷贝工具,C# Java VB,c#


使用 *.*

C#文件拷贝工具,C# Java VB,c#

C#文件拷贝工具,C# Java VB,c#


重名时坚持拷贝

C#文件拷贝工具,C# Java VB,c#

C#文件拷贝工具,C# Java VB,c#


可能的报错

C#文件拷贝工具,C# Java VB,c#

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


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)
        {
            // 添加选项到 ComboBox
            cboSuffixSelect.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设计

C#文件拷贝工具,C# Java VB,c#文章来源地址https://www.toymoban.com/news/detail-707237.html


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();

        }

        #endregion

        private 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;
    }
}

到了这里,关于C#文件拷贝工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月16日
    浏览(61)
  • 华为OD机试 - 通过软盘拷贝文件(Java & JS & Python)

    题目描述 有一名科学家想要从一台古董电脑中拷贝文件到自己的电脑中加以研究。 但此电脑除了有一个3.5寸软盘驱动器以外,没有任何手段可以将文件持贝出来,而且只有一张软盘可以使用。 因此这一张软盘是唯一可以用来拷贝文件的载体。 科学家想要尽可能多地将计算机

    2024年02月12日
    浏览(42)
  • 华为OD机试 - 通过软盘拷贝文件 - 动态规划(Java 2023 B卷 200分)

    华为OD机试 2023B卷题库疯狂收录中,刷题 点这里 本专栏收录于

    2024年02月09日
    浏览(42)
  • Java中将本服务器的文件拷贝到另一个服务器(Linux to Linux)

    在Java中,将文件从一个服务器复制到另一个服务器,你可以使用Secure Copy(SCP)进行操作。Java中的 JSch 库可以进行此操作。 首先,需要添加 JSch 库依赖到你的项目中。如果你使用的是Maven,可以添加以下依赖: 以下是一个使用 JSch 进行SCP操作的示例: 这段代码首先创建了一

    2024年02月13日
    浏览(64)
  • Java中将本服务器的文件拷贝到另一个服务器(Windows to Linux)

    在Java中,将文件从Windows服务器复制到Linux服务器,常用的方式是使用SSH进行安全的文件传输。Java有一个名为 JSch 的库,可以用于SSH连接和操作。 首先,你需要将 JSch 添加到你的项目依赖中。如果你使用的是Maven,你可以添加以下依赖: 然后,你可以使用以下代码将文件从

    2024年02月11日
    浏览(49)
  • C#中的浅拷贝与深拷贝

    众所周知,C#中有两种类型变量:那就是 值类型 和 引用类型 。对于值类型而言,copy就相当于是全盘复制了,真正的实现了复制,属于 深拷贝 ;而对于引用类型而言,一般的copy只是 浅拷贝 ,只是copy到了引用对象的地址,相当于值传递了一个引用指针, 新的对象通过地址

    2024年02月11日
    浏览(48)
  • 【图像处理】去雾源码收集(halcon、python、C#、VB、matlab)

    随着图像处理技术和计算机视觉技术的蓬勃发展,对特殊天气下的场景检测和图像处理成为重要的研究方向。在雾天拍摄的图像容易受雾或霾的影响,导致图片模糊、对比度低以至于丢失图像重要信息。因此,需要对带雾图像进行去雾,处理图像信息,保证其他计算机视觉任

    2024年02月12日
    浏览(44)
  • 理解C#中对象的浅拷贝和深拷贝

    本文章主要介绍C#中对象的拷贝,其中包括浅拷贝和深拷贝,以及浅拷贝和深拷贝的实现方式,不同的实现方式之间的性能对比。   浅拷贝是指将对象中的数值类型的字段拷贝到新的对象中,而对象中的引用型字段则指复制它的一个引用到目标对象。如果改变目标对象中引用

    2024年02月08日
    浏览(43)
  • unity C#深拷贝、浅拷贝、直接赋值区别与经典实例

    在C#中,浅拷贝(Shallow Copy)和深拷贝(Deep Copy)是两种不同级别的对象复制方式。它们的区别主要体现在处理引用类型字段时的行为。 浅拷贝是指复制对象时,只复制对象本身所包含的值类型字段,并将引用类型字段简单地复制一份引用,而不是复制引用的对象内容。这意

    2024年01月16日
    浏览(68)
  • C# List 复制之深浅拷贝

    声明类 执行上述方法, 修改list1 中的属性值, 发现list2 的属性值会跟着变化, list3 的属性值不发生变化; 由于进行的是浅拷贝,所以直接将list1的内容复制给了list2,虽然list1和list2所在的地址不一样,但是两个list存储的对象仍然是相同的(因为把list1复制到list2时,浅拷贝复制的

    2024年02月07日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包