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

操作文件常用的类有:
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

 

參考文獻: 1. http://support.microsoft.com/kb/303974/zh-cn

 

你可能感兴趣的:(Stream,String,C#,File,delete,磁盘)