c#中的文件管理类File类

File类下面有好多用来操作文件的方法

 

 

 从File类的从元数据来看,其属于IO的命名空间底下,其是一个静态类,故其下面的都是一些静态成员,我们不能实例化File类的对象,当我们要调用其下面的成员时,只需通过类名File来调用即可。

下面我来举几个例子:

1.在指定路径创建文件

static void Main(string[] args)
        {
            File.Create(@"D:\桌面\demo.txt");//在指定路径创建文件
            
            
        }

创建完成:

 

 

 

2.在指定文件写入文本内容,多次执行会覆盖

static void Main(string[] args)
        {
            
            File.WriteAllText(@"D:\桌面\demo.txt", "勇士总冠军!!!");//在指定文件写入文本内容
            
        }

写入完成:

 

 

 3.通过字节写入

static void Main(string[] args)
        {
            
            byte[] bytes = Encoding.Default.GetBytes("库里mvp!!!");//使用.net默认的编码
            File.WriteAllBytes(@"D:\桌面\demo.txt", bytes);
        }

 

 

4.追加内容,而不是覆盖内容

static void Main(string[] args)
        {
            
            File.AppendAllText(@"D:\桌面\demo.txt", "2022");
            
        }

 

 

 

 4.编码和解码

编码:将字符串以怎样的形式保存为二进制

乱码:保存这个文件所采用的编码与打开这个文件所采用的编码格式不同

我们在保存文件时,会出现如下页面:

 

 

 这就是选择编码的方式。

下面用代码来说明:

static void Main(string[] args)
        {
            byte[] buffer = File.ReadAllBytes(@"D:\桌面\demo.txt");
            string s=Encoding.UTF8.GetString(buffer);
            Console.WriteLine(s);
            
        }

这里我们选择和编码方式相同的UTF8,运行可得出正确的文本

 

 

 当将其改成UTF32时,就会出现以下的乱码格式

static void Main(string[] args)
        {
            byte[] buffer = File.ReadAllBytes(@"D:\桌面\demo.txt");
            string s=Encoding.UTF32.GetString(buffer);
            Console.WriteLine(s);
            
        }

 

posted @ 2022-09-21 14:51  ZerryLuo  阅读(370)  评论(0编辑  收藏  举报