C#底层库--操作文件帮助类FileHelper(获取目录的所有文件)

系列文章

C#底层库–记录日志帮助类
本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709

C#底层库–数据库访问帮助类(MySQL版)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126886379

C#底层库–获取文件版本和MD5值
本文链接:https://blog.csdn.net/youcheng_ge/article/details/112513871

C#底层库–操作文件帮助类FileHelper(获取目录的所有文件)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126887161

C#底层库–操作Excel帮助类(读取、导出表格)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126887445

C#底层库–软件版本管理XML
本文链接:https://blog.csdn.net/youcheng_ge/article/details/110195766

C#RegexHelper正则表达式帮助类
本文链接:https://blog.csdn.net/youcheng_ge/article/details/109745286

文章目录

  • 系列文章
  • 前言
  • 一、底层库介绍
  • 二、底层库源码
  • 三、调用方法


前言

本文将新增一个专栏–底层库,分享编程过程中常用的方法函数。我们将这些常用的方法函数,进行封装,反复测试,形成通用化类库。
方便研发人员,只需要几行代码就可以使用它,解决一些难点问题。
底层库的封装涉及到:数据库操作、加解密算法、日志记录、网络通信、邮件发送、文件操作、参数保存、Excel导入导出等等,持续关注本专栏吧。大家有任何问题,也可以评论区反馈,私信我。

一、底层库介绍

操作文件帮助类,包含文件删除、获取指定目录的所有文件。

二、底层库源码

创建类FileHelper.cs

/*
 * 由SharpDevelop创建。
 * 用户: gyc
 * 日期: 2020-11-11
 * 时间: 8:25
 * 
 * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件
 */
using System;
using System.IO;

namespace Wesun.AssemblyInStock
{
    public static class FileHelper
    {
        /// 
        /// 获取目录中文件的绝对路径
        /// 
        /// 
        /// 
        /// 
        /// 
        public static string FindFilePath(string a_dirName,string a_fileName,string a_Extension)
        {
            string a_strFileAbsolutelyPath = "";
            DirectoryInfo l_dirInfo=new DirectoryInfo(a_dirName);
            FileInfo[] l_files=l_dirInfo.GetFiles();//返回目录中所有文件和子目录
            //含组件号的.csproj文件
            foreach(FileInfo info in l_files)
            {
                if(info.Name.Contains(a_fileName)&&info.Extension==a_Extension)
                {
                    a_strFileAbsolutelyPath=info.FullName;
                    return a_strFileAbsolutelyPath;
                }
            }
            
            //找其它目录
            DirectoryInfo[] l_childsDir=l_dirInfo.GetDirectories();
            if(l_childsDir.Length>=0)
            {
                foreach(DirectoryInfo dirInfo in l_childsDir)
                {
                    a_strFileAbsolutelyPath = FindFilePath(dirInfo.FullName,a_fileName,a_Extension);
                    if(a_strFileAbsolutelyPath!="")
                    {
                        return a_strFileAbsolutelyPath;
                    }
                }
            }
            return a_strFileAbsolutelyPath;
        }
        
        
        /// 
        /// 删除指定目录及其所有文件
        /// 
        /// 
        public static void DelDirSub(string a_strPath)
        {
            try
            {
                //去除文件夹和子文件的只读\隐藏属性
                //去除文件夹的只读\隐藏属性
                System.IO.DirectoryInfo fileInfo = new DirectoryInfo(a_strPath);
                fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory;
                //去除文件的只读\隐藏属性
                System.IO.File.SetAttributes(a_strPath,System.IO.FileAttributes.Normal);
                
                //判断文件夹是否还存在
                if(Directory.Exists(a_strPath))
                {
                    foreach(string f in Directory.GetFileSystemEntries(a_strPath))
                    {
                        if(File.Exists(f))
                        {
                            File.Delete(f);
                        }
                        else
                        {
                            DelDirSub(f);
                        }
                    }
                    
                    //删除空文件夹
                    Directory.Delete(a_strPath);
                }
            }
            catch(Exception)
            {}
        }

    }
}

三、调用方法

                MySQLHelper.server = AppConfig.GetValue("db_server");
                MySQLHelper.port = AppConfig.GetValue("db_port");
                MySQLHelper.BaseName = AppConfig.GetValue("db_base");
                MySQLHelper.uid = AppConfig.GetValue("db_uid");
                MySQLHelper.pwd = AppConfig.GetValue("db_pwd");

                string l_strSql = $"UPDATE t300_muxianzhiliang_result SET 原料编号='{baseDataInput_原料编号.StringValue}'," +
                    $"原料规格='{baseDataInput_原料规格.StringValue}',原料强度='{baseDataInput_原料强度.StringValue}'," +
                    $"黄丝厂家='{baseDataInput_黄丝厂家.StringValue}',黄丝代码='{baseDataInput_黄丝代码.StringValue}',doff='{baseDataInput_doff.StringValue}'  WHERE id= {m_strkeyVaule}";

                MySQLHelper.ExecuteSql(l_strSql);

你可能感兴趣的:(底层库(工具,通用类),c#,文件操作)