国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【文件操作類】史上最完整的文件和目錄操作類

2019-11-17 02:24:27
字體:
來源:轉載
供稿:網友
【文件操作類】史上最完整的文件和目錄操作類
using System;using System.Text;using System.IO;namespace HelloCsharp.Utilities{    /// <summary>    /// 文件操作類    /// </summary>    public static class DirFile    {        #region 檢測指定目錄是否存在        /// <summary>        /// 檢測指定目錄是否存在        /// </summary>        /// <param name="directoryPath">目錄的絕對路徑</param>        /// <returns></returns>        public static bool IsExistDirectory(string directoryPath)        {            return Directory.Exists(directoryPath);        }        #endregion        #region 檢測指定文件是否存在,如果存在返回true        /// <summary>        /// 檢測指定文件是否存在,如果存在則返回true。        /// </summary>        /// <param name="filePath">文件的絕對路徑</param>                public static bool IsExistFile(string filePath)        {            return File.Exists(filePath);        }        #endregion        #region 獲取指定目錄中的文件列表        /// <summary>        /// 獲取指定目錄中所有文件列表        /// </summary>        /// <param name="directoryPath">指定目錄的絕對路徑</param>                public static string[] GetFileNames(string directoryPath)        {            //如果目錄不存在,則拋出異常            if (!IsExistDirectory(directoryPath))            {                throw new FileNotFoundException();            }            //獲取文件列表            return Directory.GetFiles(directoryPath);        }        #endregion        #region 獲取指定目錄中所有子目錄列表,若要搜索嵌套的子目錄列表,請使用重載方法.        /// <summary>        /// 獲取指定目錄中所有子目錄列表,若要搜索嵌套的子目錄列表,請使用重載方法.        /// </summary>        /// <param name="directoryPath">指定目錄的絕對路徑</param>                public static string[] GetDirectories(string directoryPath)        {            try            {                return Directory.GetDirectories(directoryPath);            }            catch (IOException ex)            {                throw ex;            }        }        #endregion        #region 獲取指定目錄及子目錄中所有文件列表        /// <summary>        /// 獲取指定目錄及子目錄中所有文件列表        /// </summary>        /// <param name="directoryPath">指定目錄的絕對路徑</param>        /// <param name="searchPattern">模式字符串,"*"代表0或N個字符,"?"代表1個字符。        /// 范例:"Log*.xml"表示搜索所有以Log開頭的Xml文件。</param>        /// <param name="isSearchChild">是否搜索子目錄</param>        public static string[] GetFileNames(string directoryPath, string searchPattern, bool isSearchChild)        {            //如果目錄不存在,則拋出異常            if (!IsExistDirectory(directoryPath))            {                throw new FileNotFoundException();            }            try            {                if (isSearchChild)                {                    return Directory.GetFiles(directoryPath, searchPattern, SearchOption.AllDirectories);                }                else                {                    return Directory.GetFiles(directoryPath, searchPattern, SearchOption.TopDirectoryOnly);                }            }            catch (IOException ex)            {                throw ex;            }        }        #endregion        #region 檢測指定目錄是否為空        /// <summary>        /// 檢測指定目錄是否為空        /// </summary>        /// <param name="directoryPath">指定目錄的絕對路徑</param>                public static bool IsEmptyDirectory(string directoryPath)        {            try            {                //判斷是否存在文件                string[] fileNames = GetFileNames(directoryPath);                if (fileNames.Length > 0)                {                    return false;                }                //判斷是否存在文件夾                string[] directoryNames = GetDirectories(directoryPath);                if (directoryNames.Length > 0)                {                    return false;                }                return true;            }            catch            {                //這里記錄日志                //LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);                return true;            }        }        #endregion        #region 檢測指定目錄中是否存在指定的文件        /// <summary>        /// 檢測指定目錄中是否存在指定的文件,若要搜索子目錄請使用重載方法.        /// </summary>        /// <param name="directoryPath">指定目錄的絕對路徑</param>        /// <param name="searchPattern">模式字符串,"*"代表0或N個字符,"?"代表1個字符。        /// 范例:"Log*.xml"表示搜索所有以Log開頭的Xml文件。</param>                public static bool Contains(string directoryPath, string searchPattern)        {            try            {                //獲取指定的文件列表                string[] fileNames = GetFileNames(directoryPath, searchPattern, false);                //判斷指定文件是否存在                if (fileNames.Length == 0)                {                    return false;                }                else                {                    return true;                }            }            catch (Exception ex)            {                throw new Exception(ex.Message);                //LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);            }        }        /// <summary>        /// 檢測指定目錄中是否存在指定的文件        /// </summary>        /// <param name="directoryPath">指定目錄的絕對路徑</param>        /// <param name="searchPattern">模式字符串,"*"代表0或N個字符,"?"代表1個字符。        /// 范例:"Log*.xml"表示搜索所有以Log開頭的Xml文件。</param>         /// <param name="isSearchChild">是否搜索子目錄</param>        public static bool Contains(string directoryPath, string searchPattern, bool isSearchChild)        {            try            {                //獲取指定的文件列表                string[] fileNames = GetFileNames(directoryPath, searchPattern, true);                //判斷指定文件是否存在                if (fileNames.Length == 0)                {                    return false;                }                else                {                    return true;                }            }            catch (Exception ex)            {                throw new Exception(ex.Message);                //LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);            }        }        #endregion        #region 創建目錄        /// <summary>        /// 創建目錄        /// </summary>        /// <param name="dir">要創建的目錄路徑包括目錄名</param>        public static void CreateDir(string dir)        {            if (dir.Length == 0) return;            if (!Directory.Exists(System.Web.HttpContext.Current.Request.PhysicalapplicationPath + "http://" + dir))                Directory.CreateDirectory(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "http://" + dir);        }        #endregion        #region 刪除目錄        /// <summary>        /// 刪除目錄        /// </summary>        /// <param name="dir">要刪除的目錄路徑和名稱</param>        public static void DeleteDir(string dir)        {            if (dir.Length == 0) return;            if (Directory.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "http://" + dir))                Directory.Delete(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "http://" + dir);        }        #endregion        #region 刪除文件        /// <summary>        /// 刪除文件        /// </summary>        /// <param name="file">要刪除的文件路徑和名稱</param>        public static void DeleteFile(string file)        {            if (File.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + file))                File.Delete(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + file);        }        #endregion        #region 創建文件        /// <summary>        /// 創建文件        /// </summary>        /// <param name="dir">帶后綴的文件名</param>        /// <param name="pagestr">文件內容</param>        public static void CreateFile(string dir, string pagestr)        {            dir = dir.Replace("/", "http://");            if (dir.IndexOf("http://") > -1)                CreateDir(dir.Substring(0, dir.LastIndexOf("http://")));            System.IO.StreamWriter sw = new System.IO.StreamWriter(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "http://" + dir, false, System.Text.Encoding.GetEncoding("GB2312"));            sw.Write(pagestr);            sw.Close();        }        #endregi
上一篇:C#string類型總結

下一篇:C#連接mysql實例

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 望城县| 清远市| 通山县| 卫辉市| 松溪县| 晋江市| 扶风县| 鄱阳县| 阳江市| 桑植县| 中江县| 定边县| 台江县| 冷水江市| 大同市| 岐山县| 察雅县| 稻城县| 普陀区| 寿阳县| 邻水| 阿拉尔市| 海南省| 新宁县| 大化| 泰州市| 临猗县| 安义县| 武鸣县| 古交市| 成武县| 格尔木市| 裕民县| 开阳县| 如东县| 军事| 和林格尔县| 简阳市| 华亭县| 平泉县| 台前县|