C#文件与文件夹操作

来源:互联网 发布:电子相册自动播放软件 编辑:程序博客网 时间:2024/04/29 15:22

一、获取文件夹列表

       /// <summary>       /// 获取文件夹下的文件列表       /// </summary>        /// <param name="Path">string Path:文件夹路径(@"C:\")</param>        /// <param name="SearchPattern">string SearchPattern:扩展名过滤("*.txt")</param>        /// <param name="SearchChild">bool SearchChild:为False不搜索子目录,为True搜索子目录</param>       /// <returns></returns>        public string[] GetFileList(string Path, string SearchPattern, bool SearchChild)        {            //判断文件夹是否存在            if (Directory.Exists(Path)==false)            {            return null;            }            if (SearchChild){            //搜索子目录            return Directory.GetFiles(Path, SearchPattern, SearchOption.AllDirectories);            }            else            {                //不搜索子目录                return Directory.GetFiles(Path, SearchPattern, SearchOption.TopDirectoryOnly);            }        }


二、打开文件

   /// <summary>        /// 打开文件        /// </summary>        /// <param name="Path">string Path:文件路径</param>        /// <returns></returns>        public System.Diagnostics.Process OpenFile(string Path)        {            if (File.Exists(Path) == true)            {//打开文件,默认用系统注册类型关联软件打开                return System.Diagnostics.Process.Start(Path);            }            else            {                return null;            }        }



*可对打开的文件进行一些操作:

public System.Diagnostics.Process p1;

p1=OpenFile(@"c:\1.txt");

p1..Kill();//关闭打开的文件

p1.WaitForExit();//等待打开的文件关闭

p1.MainWindowTitle;//获取打开文件主窗口的标题

p1.HasExited;//判断打开的文件是否已关闭

三、获取文件信息

   

    /// <summary>        /// 获取文件信息        /// </summary>        /// <param name="Path">string Path:文件路径</param>        /// <returns></returns>        public FileInfo GetFileInfo(string Path)        {            if (File.Exists(Path) == true)            {                return new FileInfo(Path);            }            else            {                return null;            }        }


*使用方法如下:

FileInfo fi1 = GetFileInfo(@"f:\1.txt");

fi1.Extension;//获取文件的扩展名

fi1.DirectoryName;//获取文件所在完整目录

fi1.Length;//获取文件的字节数

fi1.Name;//获取文件名,包括扩展名

fi1.Name.Replace(f1.Extension, "");//获取文件名,不包括扩展名

四、创建文件夹

       

/// <summary>        /// 创建文件夹        /// </summary>        /// <param name="Path">string Path:文件夹路径</param>        /// <returns></returns>        public bool CreateDir(string Path)        {            try            {//判断文件夹是否存在                if (Directory.Exists(Path) == false)                {                    Directory.CreateDirectory(Path);                    return true;                }                else                {                    return false;                }                           }            catch            {                return false;            }        }


五、用二进制数组生成文件

    

   /// <summary>        /// 用二进制数组Byte[]生成文件        /// </summary>        /// <param name="FileFullPath">string Path:要生成的文件全路径</param>        /// <param name="StreamByte">byte[] StreamByte:要生成文件的二进制 Byte 数组</param>        /// <returns></returns>        public bool ByteStreamToFile(string Path, byte[] StreamByte)        {            try            {//判断要创建的文件是否存在,若存在则先删除                if (File.Exists(Path) == true)                 {                    File.Delete(Path);                }                //创建文件流(打开或创建的方式)                FileStream FS = new FileStream(Path, FileMode.OpenOrCreate);                //把文件流写到文件中                FS.Write(StreamByte, 0, StreamByte.Length);                 FS.Close();                return true;            }            catch            {                return false;            }        }


六、获取系统文件夹

Environment.GetFolderPath(Environment.SpecialFolder.Startup)

说明:

  ApplicationData   目录,它用作当前漫游用户的应用程序特定数据的公共储存库。     
  CommonApplicationData   目录,它用作所有用户使用的应用程序特定数据的公共储存库。    
  CommonProgramFiles   用于应用程序间共享的组件的目录。    
  Cookies   用作   Internet   Cookie   的公共储存库的目录。    
  Desktop   逻辑桌面,而不是物理文件系统位置。    
  DesktopDirectory   用于物理上存储桌面上的文件对象的目录。     
  Favorites   用作用户收藏夹项的公共储存库的目录。    
  History   用作   Internet   历史记录项的公共储存库的目录。    
  InternetCache   用作   Internet   临时文件的公共储存库的目录。    
  LocalApplicationData   目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。    
  MyComputer   “我的电脑”文件夹。    
  MyMusic   “My   Music”文件夹。    
  MyPictures   “My   Pictures”文件夹。    
  Personal   用作文档的公共储存库的目录。    
  ProgramFiles   “Program   files”目录。    
  Programs   包含用户程序组的目录。    
  Recent   包含用户最近使用过的文档的目录。    
  SendTo   包含“发送”菜单项的目录。    
  StartMenu   包含“开始”菜单项的目录。    
  Startup   对应于用户的“启动”程序组的目录。      
  System   “System”目录。    
  Templates   用作文档模板的公共储存库的目录。

0 0
原创粉丝点击