文件、文件夹的操作

 

 1. 文件的管理(File)  

  1). 读取文件   

  ->文件的路径  

   ->文件的格式(gb2312、utf-8)   

     Encoding.Default->应用到文件内容的编码(系统默认编码)   

     Encoding.GetEncoding("gb2312")->换成国际编码

   2). 所有的文件操作都在System.IO里面   

  ->读取全部的文本,返回一个string:ReadAllText   

  ->读取每一行的文本,返回一个string数组:ReadAllLines    

    ->遇到回车将前面的文本作为一项放到数组中    

    ->读取文本内容,将文本内容的每一行作为数组中的一项    

    ->将所有文本读入数组中     

  3). 写文件使用File方法,当文件不存在时,会自动创建;如果文件操作,会将文件内容覆盖

    4). 文件的操作:   

  ->文件操作都要引用System.IO这个命名空间 ,文件操作都在类File中   

  ->读文件    

    ->ReadAllLines(路径,编码格式);     ->返回数组,是一行一行的读    

    ->ReadAllText(路径,编码格式);     ->返回字符串,换行符是\r\n   

  ->写文件    

    ->WriteAllText(路径,字符串内容,编码格式);    

    ->WriteAllLines(路径,字符串数组,编码格式);   

    ->追加文件    ->APPendAllText

  5). 文件管理   

  ->Exist  判存   

  ->Create 创建   

  ->Move  移动   

  ->Cope  复制   

  ->Delete 删除

2. 文件夹的管理(Directory)   文件夹的管理相比文件的管理要简单:  

->1)判存     

  ->Directory.Existe(文件夹的路径);返回bool类型  

->2)创建   

  ->Directory.CreateDirectory(要创建文件夹的路径);  

->3)删除    

  ->Directory.Delete(要删除的文件夹);  

->4)移动   

  ->Directory.Move(要移动的文件夹的路径,移到目的地的路径);   

3. 问题

   不管是文件还是文件夹在移动或复制的时候,可能会遇到同名的情况;或者文件路径没有写全、目标文件夹不存在等问题   

  例如:将D:\1.txt文件,移到D:\1\1.txt,可能会出现以下问题:    

    ->这样写就造成了文件路径不全:File.Move(@"D:\1.txt", @"D:\1");     

      ->解决方案:补全路径名    

    ->如果D盘没有名字为1的文件,这样写就是目标文件夹不存在:File.Move(@"D:\1.txt", @"D:\1\1.txt");     

      ->解决方案:先创建文件夹1    

    ->如果在1这个文件夹里有1.txt这个文件,还这样写就会异常:File.Copy(@"D:\1.txt", @"D:\1\1.txt");     

      ->解决方案:用try-catch捕获异常;或者把原来的文件覆盖掉:File.Copy(@"D:\1.txt", @"D:\1\1.txt",true );

4. 获得文件夹下的文件与文件夹  

  获得文件:   

    ->Directory.GetFiles(指定文件夹的路径,*.后缀名(指定的文件类型));返回一个数组,不要第二个参数,则返回所以文件  

  获得文件夹:   

    ->Directory.GetDirectory(指定文件夹的路径,*.后缀名(指定的文件类型));返回一个数组,不要第二个参数,则返回所以文件夹  

  用foreach遍历出文件或文件夹的名字:   

    ->foreach(string item in arrayName(返回数组的名字))  

      {    

        int index=item.LastIndexOf('\\');    

        string str = item.Substring(index + 1);    

        Console.ReadLine(str);   

     }   

 

posted @ 2012-03-13 09:53  灵雨飘零  阅读(319)  评论(0编辑  收藏  举报