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

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

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

相关推荐
半夢半醒14 分钟前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加菱形、平行四边形、圆角矩形,文本居中显示
算法·c#·流程图
sukalot26 分钟前
windows网络适配器驱动开发-WiFiCx Wi-Fi 7 功能要求(二)
windows·驱动开发
沉迷学习 日益消瘦1 小时前
13-Ingress 生产实战
运维·kubernetes
Dawn-bit1 小时前
Linux日志处理三剑客之基础篇:(基础正则+扩展正则)
linux·运维·服务器·正则表达式·云计算·运维开发
暗影凋落1 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
深圳市爱派派智能科技有限公司1 小时前
“进迭时空 RISC-V 集群服务器 CSB1-N10SPK3:10 节点 K3,600 TOPS 绿色算力“
运维·服务器·risc-v·k3·进迭时空·集群服务器
☆凡尘清心☆1 小时前
Linux运维故障排查速查命令清单
linux·运维·服务器
QWEDDRFTG1 小时前
机房供电安全
服务器
极客先躯1 小时前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统
nvd112 小时前
GCP L4 Passthrough 负载均衡器“假死超时”深度排查复盘
运维·php·负载均衡