• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#常用目录文件操作类实例

C#常用目录文件操作类实例

作者:feige 字体:[增加 减小] 来源:互联网 时间:2017-05-28

feige 通过本文主要向大家介绍了c#类的实例化,c#中类和对象实例讲解,c#中类的实例化,c#实例化一个类,c#抽象类可以实例化吗等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#常用目录文件操作类。分享给大家供大家参考。具体分析如下:

这个c#类封装了常用的目录操作,包括列出目录下的文件、检测目录是否存在、得到目录下的文件列表、检测目录是否为空、查找目录下的文件等等功能

using System;
using System.Text;
using System.IO;
namespace DotNet.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 + "\\" + dir))
        Directory.CreateDirectory(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + 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 + "\\" + dir))
        Directory.Delete(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\" + 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("/", "\\");
      if (dir.IndexOf("\\") > -1)
        CreateDir(dir.Substring(0, dir.LastIndexOf("\\")



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#自定读取配置文件类实例
  • C#常用目录文件操作类实例
  • C#封装的常用文件操作类实例
  • C#中JavaScriptSerializer帮助类用法实例
  • C#中类与结构的区别实例分析
  • C#关于类的只读只写属性实例分析
  • C#加密解密类实例程序
  • C#简单的加密类实例

相关文章

  • 2017-05-28经典的委托排序(深入分析)
  • 2017-05-28C#控制台基础 List泛型集合与对应的数组相互转换实现代码
  • 2017-05-28关于WPF异步MVVM等待窗体的介绍
  • 2017-05-28VS2015为console.readkey添加代码片段的方法
  • 2017-05-28c#自带缓存使用方法 c#移除清理缓存
  • 2017-05-28浅谈C# 中的委托和事件
  • 2017-05-28轻松学习C#的结构和类
  • 2017-05-28.NET WinForm实现在listview中添加progressbar的方法
  • 2017-05-28探讨Object转为String的几种简易形式详解
  • 2017-05-28C#实现将程序运行信息写入日志的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#使用Socket上传并保存图片的方法
    • 浅谈c#.net中巧用ToString()将日期转成想要的格式
    • BarCode条形码基于C# GDI+ 的实现方法详解
    • C#中split用法实例总结
    • 游戏开发之随机概率的选择算法
    • C#截图程序类似腾讯QQ截图实现代码
    • WPF仿三星手机充电界面实现代码
    • C#用Lambda和委托实现模板方法
    • C# Winform 调用系统接口操作 INI 配置文件的代码
    • C#计算两个文件的相对目录算法的实例代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有