C#实战—代码实现收发文件智能化

在信息化的今天,收发电子文档几乎是每个朋友都要经历的事情。比如班级学委和班长需要收发作业,企业管理者需要收发工作文件。但是!!!

每到要交结果时,往往会发现总会有一些人没有即使交上,50个人的班级却只有48份文件,此时估计是很多学委和管理者的恶梦吧,大多数时候,我们只能对照名单一个一个检查,看看有那位小可爱不交作业,但是这样效率太低了,关键是,它真的真的很烦,尤其我是喜欢"偷懒"

最近收作业被反复折磨的我,决定未来的几年学委,我不要这么累,自己学了一点点编程,为什么不尝试写几行代码,让计算机这个苦力去干活呢?

于是写了下面的小程序!

基本思路

第一步:写入班级(集体)的名单,用txt文件存储

第二步:将收到的作业存入任意一个文件夹

第三步:利用文件名和名单对比,设计简单算法,找出,不交作业的小可爱。

华丽分割线............................................................

第一步:存储班级名单

第二步:将收到的文件存放在任意文件夹(大家应该都会吧^-^)

第三步:打开VS,写下如下代码(不同的文件路径名需要修改部分代码)

cs 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace File_pracsice
{
    class Program
    {
        static void Main(string[] args)
        {
            System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(@"E:\Adan的文档\辩论文档");
            List<string> arraysd = new List<string>();//收到的作业array
            List<System.IO.FileInfo> allFile= GetAllFileInfo(dir);
            foreach (System.IO.FileInfo file in allFile)
            {
                arraysd.Add(file.Name);              
            }
            //Console.ReadLine();
            //string str1 = Console.ReadLine();
            //string[] array = str1.Split(',');

            string sFilename = "E:\\C#编程练习\\File pracsice\\File pracsice\\bin\\Debug\\students.txt";
            System.IO.FileStream afile = new System.IO.FileStream(sFilename, System.IO.FileMode.Open);
            StreamReader sr = new StreamReader(afile);
            string strline = sr.ReadToEnd();
            string[] arrayall = strline.Split(',');//班级总名单
            List<string> arraynew = new List<string>();
            for (int i = 0; i < arrayall.Length; i++)
            {
                string temp=arrayall[i].Remove(arrayall[i].Length - 2, 2);
                arraynew.Add(temp);
            }

            printf();
            for (int i = 0; i < arrayall.Length; i++)
            {
                for (int j = 0; j < arraysd.Count; j++)
                {
                    if (arraynew[i] == arraysd[j])
                    {
                        break;
                    }
                    else
                    {
                        if (arraynew[i] != arraysd[j] && j == arraysd.Count - 1)
                        {
                            Console.WriteLine(arraynew[i] );
                        }
                        else
                        {
                            continue;
                        }
                    }
                }
            }
            Console.ReadLine();
        }
        public static void printf()
        {
            Console.WriteLine("班级总数共有25人,没交作业的有:");
        }

        public static List<System.IO.FileInfo> GetAllFileInfo(System.IO.DirectoryInfo dir)
        {
            List<System.IO.FileInfo> FileList = new List<System.IO.FileInfo>();
            System.IO.FileInfo[] allFile = dir.GetFiles();
            foreach (System.IO.FileInfo file in allFile)
            {
                FileList.Add(file);
            }
            System.IO.DirectoryInfo[] allDir = dir.GetDirectories();
            foreach (System.IO.DirectoryInfo d in allDir)
            {
                GetAllFileInfo(d);
            }
            return FileList;
        }
    }
}

最后的结果:(这两个人的名字是我乱编的了啦)原来是这两个小可爱没交如果有哪位小伙伴兴趣,欢迎私信小编哦。

今天的分享到这里就结束啦,希望对大家日常的工作有帮助,谢谢大家!

相关推荐
IT良44 分钟前
c#增删改查 (数据操作的基础)
开发语言·c#
yufei-coder1 小时前
掌握 C# 中的 LINQ(语言集成查询)
windows·vscode·c#·visual studio
韩楚风3 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学3 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Pythonliu73 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我3 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
我是哈哈hh4 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈4 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -4 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
立秋67894 小时前
Python的defaultdict详解
服务器·windows·python