C#中File类的常用读取与写入文件方法的使用

你的名字 2023-10-19 06:57 200阅读 0赞

场景

File

命名空间:

System.IO

方法

AppendAllLines(String, IEnumerable)
向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。
AppendAllLines(String, IEnumerable, Encoding)
使用指定的编码向一个文件中追加行,然后关闭该文件。 如果指定文件不存在,此方法会创建一个文件,向其中写入指定的行,然后关闭该文件。
AppendAllText(String, String)
打开一个文件,向其中追加指定的字符串,然后关闭该文件。 如果文件不存在,此方法将创建一个文件,将指定的字符串写入文件,然后关闭该文件。
AppendAllText(String, String, Encoding)
使用指定的编码将指定的字符串追加到文件中,如果文件还不存在则创建该文件。
AppendText(String)
创建一个 StreamWriter,它将 UTF-8 编码文本追加到现有文件或新文件(如果指定文件不存在)。
Copy(String, String)
将现有文件复制到新文件。 不允许覆盖同名的文件。
Copy(String, String, Boolean)
将现有文件复制到新文件。 允许覆盖同名的文件。
Create(String)
在指定路径中创建或覆盖文件。
Create(String, Int32)
创建或覆盖指定的文件。
Create(String, Int32, FileOptions)
创建或覆盖指定的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的 FileOptions 值。
Create(String, Int32, FileOptions, FileSecurity)
创建或覆盖具有指定的缓冲区大小、文件选项和文件安全性的指定文件。
CreateText(String)
创建或打开用于写入 UTF-8 编码文本的文件。 如果该文件已存在,将覆盖其内容。
Decrypt(String)
使用 Encrypt(String) 方法解密由当前帐户加密的文件。
Delete(String)
删除指定的文件。
Encrypt(String)
将某个文件加密,使得只有加密该文件的帐户才能将其解密。
Exists(String)
确定指定的文件是否存在。
GetAccessControl(String)
获取一个 FileSecurity 对象,它封装指定文件的访问控制列表 (ACL) 条目。
GetAccessControl(String, AccessControlSections)
获取一个 FileSecurity 对象,封装特定文件的指定类型的访问控制列表 (ACL) 项。
GetAttributes(String)
获取在此路径上的文件的 FileAttributes。
GetCreationTime(String)
返回指定文件或目录的创建日期和时间。
GetCreationTimeUtc(String)
返回指定的文件或目录的创建日期及时间,其格式为协调通用时 (UTC)。
GetLastAccessTime(String)
返回上次访问指定文件或目录的日期和时间。
GetLastAccessTimeUtc(String)
返回上次访问指定的文件或目录的日期及时间,其格式为协调通用时 (UTC)。
GetLastWriteTime(String)
返回上次写入指定文件或目录的日期和时间。
GetLastWriteTimeUtc(String)
返回上次写入指定的文件或目录的日期和时间,其格式为协调通用时 (UTC)。
Move(String, String)
将指定文件移到新位置,提供要指定新文件名的选项。
Open(String, FileMode)
通过不共享的读/写访问权限打开指定路径上的 FileStream。
Open(String, FileMode, FileAccess)
通过指定的模式和不共享的访问权限打开指定路径上的 FileStream。
Open(String, FileMode, FileAccess, FileShare)
打开指定路径上的 FileStream,具有带读、写或读/写访问的指定模式和指定的共享选项。
OpenRead(String)
打开现有文件以进行读取。
OpenText(String)
打开现有 UTF-8 编码文本文件以进行读取。
OpenWrite(String)
打开一个现有文件或创建一个新文件以进行写入。
ReadAllBytes(String)
打开一个二进制文件,将文件的内容读入一个字节数组,然后关闭该文件。
ReadAllLines(String)
打开一个文本文件,读取文件的所有行,然后关闭该文件。
ReadAllLines(String, Encoding)
打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。
ReadAllText(String, Encoding)
打开一个文件,使用指定的编码读取文件中的所有文本,然后关闭此文件。
ReadAllText(String)
打开一个文本文件,读取文件中的所有文本,然后关闭此文件。
ReadLines(String)
读取文件的行。
ReadLines(String, Encoding)
读取具有指定编码的文件的行。
Replace(String, String, String)
使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
Replace(String, String, String, Boolean)
用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份,还可以忽略合并错误。
SetAccessControl(String, FileSecurity)
将 FileSecurity 对象描述的访问控制列表 (ACL) 项应用于指定的文件。
SetAttributes(String, FileAttributes)
获取指定路径上的文件的指定 FileAttributes。
SetCreationTime(String, DateTime)
设置创建该文件的日期和时间。
SetCreationTimeUtc(String, DateTime)
设置文件创建的日期和时间,其格式为协调通用时 (UTC)。
SetLastAccessTime(String, DateTime)
设置上次访问指定文件的日期和时间。
SetLastAccessTimeUtc(String, DateTime)
设置上次访问指定的文件的日期和时间,其格式为协调通用时 (UTC)。
SetLastWriteTime(String, DateTime)
设置上次写入指定文件的日期和时间。
SetLastWriteTimeUtc(String, DateTime)
设置上次写入指定的文件的日期和时间,其格式为协调通用时 (UTC)。
WriteAllBytes(String, Byte[])
创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。 如果目标文件已存在,则覆盖该文件。
WriteAllLines(String, String[], Encoding)
创建一个新文件,使用指定编码在其中写入指定的字符串数组,然后关闭该文件。
WriteAllLines(String, IEnumerable, Encoding)
使用指定的编码创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。
WriteAllLines(String, String[])
创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。
WriteAllLines(String, IEnumerable)
创建一个新文件,向其中写入一个字符串集合,然后关闭该文件。
WriteAllText(String, String)
创建一个新文件,向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。
WriteAllText(String, String, Encoding)
创建一个新文件,使用指定编码向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。

实现

读取文件

ReadAllLines

以行的方式进行读取,返回字符数组。

  1. string[] contents = File.ReadAllLines(@"C:\Users\Administrator\Desktop\1.txt", Encoding.Default);
  2. foreach (string item in contents)
  3. {
  4. Console.WriteLine(item);
  5. }
  6. Console.ReadKey();

" class="reference-link">watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70

ReadAllText

以文本方式读取,返回字符串

  1. String str = File.ReadAllText(@"C:\Users\Administrator\Desktop\1.txt", Encoding.Default);
  2. Console.WriteLine(str);
  3. Console.ReadKey();

" class="reference-link">watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70 1

写入文件

WriteAllBytes

以字节数组方式写入文件,会覆盖原文件内容。

  1. string str = "霸道流氓气质";
  2. //将字符串转换成字节数组
  3. byte[] buffer = encoding.default.getbytes(str);
  4. file.writeallbytes(@"c:\users\administrator\desktop\new.txt", buffer);
  5. console.writeline("写入成功");
  6. console.readkey();

" class="reference-link">watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70 2

WriteAllLines

一行一行的写入,会覆盖原文件内容。

  1. File.WriteAllLines(@"C:\Users\Administrator\Desktop\1.txt", new string[] { "霸道", "流氓" });
  2. Console.WriteLine("OK");
  3. Console.ReadKey();

" class="reference-link">watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70 3

WriteAllText

按字符串写入,会覆盖原文件内容。

  1. File.WriteAllText(@"C:\Users\Administrator\Desktop\1.txt", "人的成长最重要的是要脚踏实地一步一个脚印慢慢向上。");
  2. Console.WriteLine("OK");
  3. Console.ReadKey();

" class="reference-link">watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70 4

追加文件内容

AppendAllText

不会覆盖原文件内容

  1. File.AppendAllText(@"C:\Users\Administrator\Desktop\1.txt","追加测试");
  2. Console.WriteLine("OK");
  3. Console.ReadKey();

" class="reference-link">watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70 5

相对路径与绝对路径

以上都是绝对路径,就是在电脑中实际存储的路径。

相对路径是相对项目目录下bin下Debug或Release目录。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0JBREFPX0xJVU1BTkdfUUlaSEk_size_16_color_FFFFFF_t_70 6

  1. String str = File.ReadAllText("2.txt", Encoding.Default);
  2. Console.WriteLine(str);
  3. Console.ReadKey();

发表评论

表情:
评论列表 (有 0 条评论,200人围观)

还没有评论,来说两句吧...

相关阅读