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

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

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

相关推荐
郝亚军24 分钟前
如何在Ubuntu和win10/11之间通过samba访问对方的文件
linux·服务器·ubuntu
哲伦贼稳妥1 小时前
职场发展-遇到以下情况请直接准备后手吧
运维·经验分享·其他·职场和发展
Traced back2 小时前
WinForms 线程安全三剑客详解
安全·c#·winform
Exquisite.2 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
北塔软件2 小时前
北塔方案 | 政府行业IT运维解决方案
运维·it运维·解决方案·政务
喵叔哟2 小时前
05-LINQ查询语言入门
c#·solr·linq
陈葛杰2 小时前
PE系统安装教程(傻瓜版)
windows
cg_ssh2 小时前
Docker 下启动 Nacos 3.1.1 单机模式
运维·docker·容器
修己xj3 小时前
使用 Docker 部署 SQL Server 并导入 .mdb 文件的完整指南
运维·docker·容器
John_ToDebug3 小时前
浏览器内核崩溃深度分析:从 MiniDump 堆栈到 BindOnce UAF 机制(未完待续...)
c++·chrome·windows