C# (File方法)对文件的操作,字节写入和读取

Posted 小马的棺材板

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# (File方法)对文件的操作,字节写入和读取相关的知识,希望对你有一定的参考价值。

C#文件的读和写提供了非常多的方法基本一两行就可以搞定“读和写”,在编程里还是比较重要的

什么是读?
你的程序去读你磁盘里的文件

上面是写?
你的程序在你磁盘创建文件

有什么用?
可以保存数据,用户等2次打开时就不用重新加载,或者软件异常,把异常信息或日志信息等进行保存

@符作用:
路径使用是字符串类型,而路径有非常多的“ \\”
而如\\n表示的是换行,为了不让这些“\\”起到转义的意思
在路径前使用@表示这字符串并不需要其转义

所以写路径必须得在前面加@符号,或者使用
两个“\\\\”代替 如:““E:\\\\1.txt””

如果路径特别长…不建议这样(简直就是脑血栓)


创建文件:
在E盘创建了一个名为1.txt的文本文件

File.Create(@"E:\\1.txt");

在这里插入图片描述
创建成功


删除文件:
删除E盘下的1.txt文件

File.Delete(@"1.txt");

判断文件是否存在:
返回的是一个布尔值

bool a = File.Exists(@"E:\\1.txt");

true 为存在
false 为不存在
和英语考试的判断题一样,对就T 错的就F…
在这里插入图片描述
上面把他删了,所以就不存在,false

也可以这样写:

if (File.Exists(@"D:\\1.txt"))
{
  Console.Write("文件存在");
  }
  else {
Console.Write("文件不存在");
 }

复制文件:
在这里插入图片描述
把学习资料从E盘复制到D盘

 File.Copy(@"E:\\学习资料.zip",@"D:\\学习资料.zip");

在这里插入图片描述复制成功


移动文件:
所谓的移动也就是剪切的意思

  File.Move(@"D:\\1.txt", @"E:\\1.txt");

D盘剪切到E盘
在这里插入图片描述
成功


写入:
C#提供了很多的写入方法,
都大同小异都写入的方式不一样而已

WriteAllText:直接写入

File.WriteAllText(@"E:\\1.txt","6666");

把6666写入到E盘的1.txt里
在这里插入图片描述
注意:如果文件不存在就自动创建并且写入,还是比较方便的只有一行

WriteAllBytes:字节形式写入

  string str = "小马哥的棺材板";
  //创建写入的字符串
 byte[] a = Encoding.Default.GetBytes(str);
 //字符串转成字节
 File.WriteAllBytes(@"E:\\1.txt",a);
 //写入

Encoding:表示编码格式
Default:默认编码
GetBytes:转成字节
在这里插入图片描述
写入成功!!

WriteAllLines:行的形式写入
在这里插入图片描述
需要注意的是第2个参数是一个字符串类型的数组

 string[] a  = { "1","2","3","4","5"};
 File.WriteAllLines(@"E:\\1.txt",a);

写入成功
在这里插入图片描述
AppendAllText:追加写入
上面的方法都是覆盖的写入,一般写日志文件都是使用追加写入
这样就不会覆盖了

原文本内容:
在这里插入图片描述

 File.AppendAllText(@"E:\\1.txt", "6666");

追加写入后:
在这里插入图片描述
可以注意到并没有换行,如果数据多了不好看
可以使用转义符进行换行

File.AppendAllText(@"E:\\1.txt", "6666"+"\\r\\n");

效果:
在这里插入图片描述

居然可以写入文件当然也可以读取


读取:

Encoding:表示编码格式
Default:默认编码

ReadAllText:读取文本:

 string str = File.ReadAllText(@"E:\\1.txt", Encoding.Default);
 Console.WriteLine(str);            

在这里插入图片描述
读取成功!!

ReadAllLines:行的方式读取

string[] str = File.ReadAllLines(@"E:\\1.txt", Encoding.Default); //编码格式默认
 for (int i = 0; i <= str.Length - 1; i++)
 {
Console.WriteLine(str[i]);
}

在这里插入图片描述
每一个元素代表一行

如果我只想拿到第一行的内容:

 string[] str = File.ReadAllLines(@"E:\\1.txt", Encoding.Default);              
 Console.WriteLine(str[0]);         

在这里插入图片描述
ReadAllBytes:字节形式读取

byte[] a = File.ReadAllBytes(@"E:\\1.txt");
//读取文件转成字节
 string str = Encoding.Default.GetString(a);
 //把字节转成字符串
Console.WriteLine(str);

在这里插入图片描述

以上就是File类的常用方法了

纯手打,点个赞呗~

以上是关于C# (File方法)对文件的操作,字节写入和读取的主要内容,如果未能解决你的问题,请参考以下文章

C# 操作文件路径(Directory)的常用静态方法

C# 操作文件路径(Directory)的常用静态方法

(69)C#里WriteAllLinesWriteAllBytes和OpenWrite的使用

java文件读写

c# 将字符串以二进制形式写入文件

file文件操作