C#文件操作

本文的内容包括:

1,文件基本操作:搜索,创建,复制,剪切,删除,重命名。

2,File和FileInfo

3,搜索:文件名和子目录

4,复制的方法:File和FileInfo

5,剪切:同盘和不同盘

6,重命名:利用FileInfo.MoveTo实现重命名。

7,删除:到回收站和彻底删除。

8,多线程时遇到的问题,以及解决办法。

 

      文件的基本操作包括搜索,创建,复制,剪切,删除,重命名等。在C#中可以使用File的一系列静态方法,也可以是FileInfo对象的方法来达到同样的功能。关于File和FileInfo的概念就不多说了,到处都有,当然官方的是最权威的。这里重点介绍每个操作的一些注意点。

搜索

搜索文件可以用Directory.GetFiles方法,

public static string[] GetFiles ( string path, string searchPattern, SearchOption searchOption )

path:在哪个路径下搜索。

searchPattern:搜索的文件特征是什么。如果是jpg文件,则是”*.jpg”。

SearchOption:AllDirectories和TopDirectoryOnly之一。AllDirectories表示在搜索操作中包括当前目录和所有子目录。TopDirectoryOnly表示仅在搜索中包括当前目录。

也可以使用DirectoryInfo对象的方法来达到同样的功能。

 

复制

复制文件使用File.Copy()或FileInfo.CopyTo().

 

剪切

剪切文件使用File.Move()或FileInfo.MoveTo()。

需要说明的是,如果在同一个逻辑磁盘进行剪切操作,实际上只是将文件的索引进行了更改,而文件实际存储的磁盘物理位置并没有发生变化。

 

重命名

可以通过File.Move()或者FileInfo的MoveTo (string destFileName)来实现,destFileName就是新的文件名。同一目录下的重命名,也可以实现。

 

删除

删除文件使用FIle.Delete()或者FileInfo.Delete()。这个方法是将文件从磁盘直接删除,有没有选项是删除到回收站呢?

 

多线程下的文件操作

如果多个线程同时操作一个文件,会出现类似“文件正被另一进程占用”的异常。此时应严格隔离线程间对文件占用的冲突。

posted @ 2009-06-04 09:22 春风沉醉的晚上 阅读(...) 评论(...) 编辑 收藏