C#中文件及文件夾的遍历

来源:互联网 发布:linux 时间戳 编辑:程序博客网 时间:2024/05/16 13:04


操作文件常用的类有:
File------实用类,提供许多静态方法,用于移动、删除、和复制文件。
Directory------实用类,提供许多静态方法,用于移动、删除和复制目录。
Path------ 实用类,用于处理路徑名称。
FileInfo------表示磁盘上的物理文件,具有可以处理此文件的方法,要完成对文件的读写工作,就必须创建Stream对像。
DirectoryInfo------表示磁盘上的物理目录,具有可以处理此目录的方法

下面對這些類分別作介紹:
1.File和Directory类

作为实用类,File和Directory类都提供了许多方法,用于处理文件系统以及其中的文件和目录。这些是静态方法,涉及移动文件、查询和更新属性并创建FileStream对象。
File类一些最常用的静态方法:
Copy()------将文件复制到规定的位置
Create()------在规定的位置上创建文件
Delete()------删除文件
Open()-------在规定的路徑上返回FileStream对像
Move()------将规定的文件移动到新位置,可以在新位置给文件规定不同的名字

Directory类的一些常用的静态方法
CreateDirectory()------创建具有规定路徑的目录
Delete()------删除规定的目录以及其中的所有文件
GetDirectories()------返回表示当前目录之下的目录的Directory对像的数组
GetFiles()-------返回在当前目录中的File对像的数组
Move()------将规定的目录移动到新位置。可以在新位置为文件夹规定一个新名称

例1:列出磁碟機

    string[] drives = Directory.GetLogicalDrives();
    
foreach(string drive in drives)
    {
        addListItem(drive);
    }

例2:列出子文件夾

    string[] dirs = Directory.GetDirectories(winDir);
    
foreach(string dir in dirs)
    {
        addListItem(dir);
    }

例3:列出文件

    string[] files= Directory.GetFiles(winDir);
    
foreach (string i in files)
    {
        addListItem(i);
    }

例4:递归搜索与搜索字符串相匹配的文件

void DirSearch(string sDir,string searchPattern) 
{
 
try 
 {
    
foreach (string d in Directory.GetDirectories(sDir)) 
    {
  
foreach (string f in Directory.GetFiles(d, searchPattern)) 
  {
     addListItem(f);
  }
  DirSearch(d);
    }
 }
 
catch (System.Exception excpt) 
 {
  Console.WriteLine(excpt.Message);
 }
}

2.FileInfo 类

FileInfo类不像File类,它没有静态方法,仅可用于实例化的对像。FileInfo对像表示在磁盘或网络位置的文件,注意它不是流,为了读写文件,必须创建Stream对像。
fileInfo类提供了下面的关于基础性的文件的属性,这些属性可能用来更新文件。
Attributes-----获取或设置当前文件的属性
CreationTime------获取当前文件的创建日期和时间
DirectoryName------获取文件目录的路徑
Exists------判断是否存在文件
FullName------检索文件的完整路徑
Length------获取文件的容量
Name------仅仅返回文件的名称,而不是完整的文件位置路徑、
例:檢視文件信息

    FileInfo FileProps  =new FileInfo(winDir + "/notepad.exe");
    addListItem(
"File Name = " + FileProps.FullName);
    addListItem(
"Creation Time = " + FileProps.CreationTime);
    addListItem(
"Last Access Time = " + FileProps.LastAccessTime);
    addListItem(
"Last Write TIme = " + FileProps.LastWriteTime);
    addListItem(
"Size = " + FileProps.Length);
    FileProps 
= null
0 0
原创粉丝点击