柔城

SOSOFT articles

C#各种文件操作的代码与注释

C#各种文件操作的代码与注释,具体看下面代码:

  1 using System; 
  2 using System.Collections.Generic; 
  3 using System.Linq; 
  4 using System.Text; 
  5 using System.IO; 
  6 
  7 namespace Example 
  8 { 
  9     
 10     class Program 
 11     { 
 12    
 13         static void Main(string[] args) 
 14         { 
 15             ////////////////   文件打开  下面的代码打开D:\wang.txt文件,并且向文件中写入"hello" 
 16             FileStream textFile = File.Open(@"D:\wang.txt", FileMode.Append);//以Append方式打开文件(如果不存在,会创建) 
 17             byte[] info = { (byte)'h', (byte)'e', (byte)'l', (byte)'l', (byte)'o' };//要写入的信息 
 18             textFile.Write(info, 0, info.Length);//Write方法只能写入byte数组                        
 19             textFile.Close();//关闭文件流 
 20            
 21 
 22             ////////////////////// 文件创建    
 23             FileStream newText = File.Create(@"D:\newText.txt");//创建文件 
 24             newText.Close();//关闭文件 
 25 
 26             ////////////////////  删除文件 
 27             File.Delete(@"d:\newText.txt"); 
 28 
 29             //////////////////  文件复制   如果目标文件存在,不允许复制(就是不能覆盖同名文件) 
 30             //File.Copy(@"d:\wang.txt", @"d:\CopyWang.txt"); 
 31 
 32 
 33             ////////////////  文件移动  只能在同一个盘中移动  如果目标路径不正确,不能移动 
 34            // File.Move(@"d:\CopyWang.txt", @"D:\A\movewang.txt"); 
 35 
 36             ////////////////////////  设置文件属性为 只读,隐藏 
 37             //File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly | FileAttributes.Hidden);//同时满足多个属性,必须用位或(|). 
 38 
 39             ///////////////  判断文件是不是存在 
 40             if (File.Exists(@"D:\copywang.txt"))//如果存在  即便是隐藏的文件也可以找到 
 41             { 
 42                 File.SetAttributes(@"D:\copywang.txt", FileAttributes.ReadOnly);//重新设置属性后,隐藏的文件也会显示出来,只要不加Hidden属性 
 43                 Console.WriteLine("找到文件copywang.txt"); 
 44             } 
 45             else 
 46             { 
 47                 Console.WriteLine("没有找到文件CopyWang.txt"); 
 48             } 
 49             /* 
 50             此外,File类对于Text文本提供了更多的支持。 
 51           ?AppendText:将文本追加到现有文件 
 52           ?CreateText:为写入文本创建或打开新文件 
 53           ?OpenText:打开现有文本文件以进行读取 
 54           但上述方法主要对UTF-8的编码文本进行操作,从而显得不够灵活。在这里推荐读者使用下面的代码对txt文件进行操作。 
 55           ?对txt文件进行“读”操作,示例代码如下:   
 56              */ 
 57             StreamReader textReader = new StreamReader(@"D:\wang.txt", System.Text.Encoding.Default);//以默认编码方式打开文件 
 58             string str = textReader.ReadToEnd();//读取文件 
 59             Console.WriteLine("使用StreamReader读取文本内容:" + str); 
 60             textReader.Close(); 
 61 
 62             //////////////////对txt文件写内容 
 63             StreamWriter textWriter = new StreamWriter(@"D:\wang.txt"); 
 64             str = "Learn .Net"; 
 65             textWriter.Write(str); 
 66             textWriter.Close(); 
 67 
 68             /* 
 69             System.IO.Directory类和System.DirectoryInfo类 
 70            主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。 
 71             */ 
 72             Directory.CreateDirectory(@"D:\wang1\wang");//创建目录(文件夹)如果已经存在,则保持;还可以一次创建多级目录 
 73 
 74             /////////////////////////////////目录属性设置方法 
 75             DirectoryInfo dirInfo = new DirectoryInfo(@"D:\wang1\wang");// 
 76             dirInfo.Attributes = FileAttributes.Hidden;// | FileAttributes.ReadOnly;//设置文件夹属性 
 77 
 78             /////////////////Delete方法的第二个参数为bool类型,它可以决定是否删除非空目录。 
 79             //如果该参数值为true,将删除整个目录,即使该目录下有文件或子目录;若为false,则仅当目录为空时才可删除。 
 80             //Directory.Delete(@"D:\wang1", true);//如果文件设置为ReadOnly,则不能删除 
 81 
 82             //Directory.Move(@"d:\wang1", @"d:\wang3");//把文件夹wang1移动到文件夹wang3中,相当于把wang1删除,创建一个wang3,再把内容移动到wang3 
 83 
 84             string[] Directories = Directory.GetDirectories(@"D:\wang3");//获得文件夹wang3的目录 
 85             foreach (string var in Directories) 
 86                 Console.WriteLine(var); 
 87 
 88             string[] Files = Directory.GetFiles(@"D:\wang1");//获取文件夹wang1下面的所有文件 
 89             foreach (string var in Files) 
 90                 Console.WriteLine(var); 
 91 
 92             if (Directory.Exists(@"D:\wang1")) 
 93                 Console.WriteLine("文件夹wang1存在"); 
 94 
 95             /* 
 96             在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\”。 
 97                 所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。 
 98             */ 
 99 
100             Console.ReadLine();   
101 
102         } 
103     } 
104 }

 

posted on 2014-01-09 23:18  柔城  阅读(1391)  评论(0编辑  收藏  举报

导航