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馆19 分钟前
Alibaba Cloud Linux 3 安装 Tomcat
linux·运维·tomcat
yuniko-n31 分钟前
【Linux】CentOS 部署 IPFS
linux·服务器·centos·ipfs
二进制星轨1 小时前
科研人如何使用ubantu服务器
运维·服务器
tobybo1 小时前
【BUG调查日记】用于压测的机器人进程内存压不住且脱离分配器的管理
服务器·bug·压力测试
网宿安全演武实验室1 小时前
【技术观察】反检测浏览器Camoufox 技术解构与思考
运维·安全
不吃鱼的羊3 小时前
ZSAR配置CANSM模块
服务器·网络
isaki1373 小时前
arm day1
linux·运维·arm开发
Dovis(誓平步青云)3 小时前
《场景化落地:用 Linux 共享内存解决进程间高效数据传输问题(终篇)》
linux·运维·服务器
java_logo3 小时前
PERL Docker 容器化部署指南
linux·运维·docker·容器·eureka·centos·perl
·心猿意码·3 小时前
C# 垃圾回收机制深度解析
开发语言·c#