首页 > 学院 > 开发设计 > 正文

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

2019-11-17 03:24:49
字体:
来源:转载
供稿:网友

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 }


上一篇:TypeDescriptor 类

下一篇:C#性能优化实践

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表