• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

C#的File 类使用说明

武飞扬头像
零点工程师
帮助1

一:File 类简单说明

1)提供用于创建、复制、删除、移动和打开单一文件的静态方法,并协助创建 FileStream 对象。
2) 使用 File 类来获取和设置文件特性或 DateTime 与文件的创建、访问和写入相关的信息。 如果要对多个文件执行操作,请参阅 Directory.GetFiles 或 DirectoryInfo.GetFiles 。

二:File 类的枚举

枚举 枚举说明
FileAccess 指定对文件的读取和写入访问权限。
FileShare 指定已在使用的文件所允许的访问级别。
FileMode 指定是保留还是覆盖现有文件的内容,以及创建现有文件的请求是否会引发异常。

三:File 类的方法

1: File.AppendAllText的方法介绍

1)作用:将指定的字符串,追加到文件中,如果文件还不存在,则创建该文件。
2)语法:

public static void AppendAllText (string path, string contents);
public static void AppendAllText (string path, string contents, System.Text.Encoding encoding);
重载 重载说明
AppendAllText(String, String) 打开一个文件,向其中追加指定的字符串,然后关闭该文件。
如果文件不存在,此方法将创建一个文件,将指定的字符串写入文件,然后关闭该文件。
AppendAllText(String, String, Encoding) 使用指定的编码将指定的字符串追加到文件中,如果文件还不存在则创建该文件。

3)使用举例:

string path = @"H:\Tempfile\MyTest.txt";
// 此文本仅一次添加到文件中.
if (!File.Exists(path))
{
    // 创建要写入的文件.
    string createText = "Hello and Welcome"   Environment.NewLine;
    File.WriteAllText(path, createText);
}

// 始终添加此文本,使文件随着时间的推移变得更长
string appendText = "This is extra text: There is no end to learning"   Environment.NewLine;
File.AppendAllText(path, appendText);

// 打开要从中读取的文件
string readText = File.ReadAllText(path);
Console.WriteLine(readText);

4)运行结果:

Hello and Welcome
This is extra text: There is no end to learning

2: File.AppendText(String)的方法介绍

1)作用:创建一个 StreamWriter,它将 UTF-8 编码文本追加到现有文件或新文件(如果指定文件不存在)
2)语法:

public static System.IO.StreamWriter AppendText (string path);

3)使用举例:

// 此文本仅一次添加到文件中
if (!File.Exists(path))
{
    //  创建要写入的文件.
    using (StreamWriter sw = File.CreateText(path))
    {
        sw.WriteLine("Freedom And justice");
        sw.WriteLine("GUNDAM 00");
        sw.WriteLine("Zero project");
    }
}

// 始终添加此文本,使文件随着时间的推移变得更长
using (StreamWriter sw = File.AppendText(path))
{
    sw.WriteLine("This is Extra");
    sw.WriteLine("Keep it simple.");
    sw.WriteLine("Beautiful Zhuhai");
}

// 打开要从中读取的文件。
using (StreamReader sr = File.OpenText(path))
{
    string s = "";
    while ((s = sr.ReadLine()) != null)
    {
        Console.WriteLine(s);
    }
}

4)运行结果:

Freedom And justice
GUNDAM 00
Zero project
This is Extra
Keep it simple.
Beautiful Zhuhai

3: File.Create的方法介绍

1)作用:在指定路径中,创建或覆盖文件。
2)语法:

public static System.IO.FileStream Create (string path);
public static System.IO.FileStream Create (string path, int bufferSize);
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options);
public static System.IO.FileStream Create (string path, int bufferSize, System.IO.FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
重载 重载说明
Create(String) 在指定路径中创建或覆盖文件。
Create(String, Int32) 在指定路径中创建或覆盖文件,指定缓冲区大小。
Create(String, Int32, FileOptions) 创建或覆盖指定路径中的文件,指定缓冲区大小和一个描述如何创建或覆盖该文件的选项。
Create(String, Int32, FileOptions, FileSecurity) 创建或覆盖指定路径中的文件,指定缓冲区大小、描述如何创建或覆盖该文件的选项,以及用于确定文件的访问控制和审核安全的值
例外情况 例外情况说明
UnauthorizedAccessException 调用方没有所要求的权限(只读文件 / 隐藏文件)。
ArgumentNullException path 为 null。
PathTooLongException 指定的路径和/或文件名超过了系统定义的最大长度。
DirectoryNotFoundException 指定的路径无效(例如,它位于未映射的驱动器上)。
IOException 创建文件时发生 I/O 错误。
NotSupportedException path 的格式无效。
FileOptions FileOptions 说明
Asynchronous 1073741824 指示文件可用于异步读取和写入。
DeleteOnClose 67108864 指示当不再使用某个文件时,自动删除该文件。
Encrypted 16384 指示文件是加密的,只能通过用于加密的同一用户帐户来解密。
None 0 指示在生成 FileStream 对象时,不应使用其他选项。
RandomAccess 268435456 指示随机访问文件。 系统可将此选项用作优化文件缓存的提示。
SequentialScan 134217728 指示按从头到尾的顺序访问文件。 系统可将此选项用作优化文件缓存的提示。 如果应用程序移动用于随机访问的文件指针,可能不发生优化缓存,但仍然保证操作的正确性。 如果指定此标志,可提升某些案例中的性能。
WriteThrough -2147483648 指示系统应通过任何中间缓存、直接写入磁盘。

3.1:Create(String) 使用举例:

string path = @"H:\Tempfile\MyTest.txt";

try
{
    //  创建文件,如果文件存在,则覆盖该文件.
    using (FileStream fs = File.Create(path))
    {
        byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
        // 向文件中添加一些信息。
        fs.Write(info, 0, info.Length);
    }
    // 打开stream,然后再读一遍
    using (StreamReader sr = File.OpenText(path))
    {
        string s = "";
        while ((s = sr.ReadLine()) != null)
        {
            Console.WriteLine(s);
        }
    }
}

catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}

运行结果:

This is some text in the file.

3.2:Create(String, Int32) 使用举例:

//file类的学习与使用
string path = @"H:\bilibi_Temp\MyTest.txt";

// 创建文件,如果文件存在,则覆盖该文件.
using (FileStream fs = File.Create(path, 1024))
{
    byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
    // 向文件中添加一些信息.
    fs.Write(info, 0, info.Length);
}

// 打开Stream,然后读取一遍
using (StreamReader sr = File.OpenText(path))
{
    string s = "";
    while ((s = sr.ReadLine()) != null)
    {
        Console.WriteLine(s);
    }
}

运行结果:

This is some text in the file.

3.3:Create(String, Int32, FileOptions) 使用举例:

string path = @"H:\Tempfile\MyTest.txt";

try
{
    //  创建文件,如果文件存在,则覆盖该文件.
    using (FileStream fs = File.Create(path))
    {
        byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
        // 向文件中添加一些信息。
        fs.Write(info, 0, info.Length);
    }
    // 打开stream,然后再读一遍
    using (StreamReader sr = File.OpenText(path))
    {
        string s = "";
        while ((s = sr.ReadLine()) != null)
        {
            Console.WriteLine(s);
        }
    }
}

catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}

运行结果:

This is some text in the file.

4: File.CreateText(String)的方法介绍

1)作用:创建或打开用于写入 UTF-8 编码文本的文件。 如果该文件已存在,将覆盖其内容。
2)语法:

public static System.IO.StreamWriter CreateText (string path);

3)使用举例:

//file类的学习与使用
string path = @"H:\bilibi_Temp\MyTest.txt";

// 创建文件,写入信息.
using (StreamWriter sw = File.CreateText(path))
{
    sw.WriteLine("This is New file");
    sw.WriteLine("Keep it simple.");
    sw.WriteLine("Beautiful Zhuhai");
}

// 打开Stream,然后读取一遍
using (StreamReader sr = File.OpenText(path))
{
    string s = "";
    while ((s = sr.ReadLine()) != null)
    {
        Console.WriteLine(s);
    }
}

5: File.Delete(String) 的方法介绍

1)作用:删除指定的文件。
2)语法:

public static void Delete (string path);

3)使用举例:

//file类的学习与使用
string path = @"H:\bilibi_Temp\MyTest.txt";
File.Delete(path );//删除一个文件
Console.WriteLine("删除成功");

6: File.Exists(String) 的方法介绍

1)作用:确定指定的文件是否存在。
2)语法:

public static bool Exists (string path);

7: File.Open 的方法介绍

1)作用:打开指定路径上的 FileStream。
2)语法:

public static System.IO.FileStream Open (string path, System.IO.FileMode mode);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);
重载 重载说明
Open(String, FileMode) 通过不共享的读/写访问权限打开指定路径上的 FileStream。
Open(String, FileMode, FileAccess) 通过指定的模式和不共享的访问权限打开指定路径上的 FileStream。
Open(String, FileMode, FileAccess, FileShare) 打开指定路径上的 FileStream,具有带读、写或读/写访问的指定模式和指定的共享选项。

8: File.OpenRead(String) 的方法介绍

1)作用:打开现有文件以进行读取。
2)语法:返回FileStream是指定路径上的只读 FileStream。

public static System.IO.FileStream OpenRead (string path);

9: File.OpenText(String) 的方法介绍

1)作用:打开现有 UTF-8 编码文本的文件,以进行读取。
2)语法:返回StreamReader是指定路径上的 StreamReader。

public static System.IO.StreamReader OpenText (string path);

10:File.OpenWrite(String) 的方法介绍

1)作用:打开一个现有文件或创建一个新文件以进行写入。
2)语法:返回FileStream是指定路径上具有 FileStream 访问权限的非共享的 Write 对象。

public static System.IO.FileStream OpenWrite (string path);

11:File.ReadAllBytes(String) 的方法介绍

1)作用:打开一个二进制文件,将文件的内容读入一个字节数组,然后关闭该文件。
2)语法:返回Byte[] 是包含文件内容的字节数组。

public static byte[] ReadAllBytes (string path);

12:File.ReadAllLines的方法介绍

1)作用:打开一个文本文件,将文件的所有行读入一个字符串数组,然后关闭该文件。
2)语法:返回string[]是包含文件内容的字符串数组。

public static string[] ReadAllLines (string path);
public static string[] ReadAllLines (string path, System.Text.Encoding encoding);
重载 重载说明
ReadAllLines(String) 打开一个文本文件,读取文件的所有行,然后关闭该文件。
ReadAllLines(String, Encoding) 打开一个文件,使用指定的编码读取文件的所有行,然后关闭该文件。

13:File.ReadAllText的方法介绍

1)作用:打开一个文本文件,将文件中的所有文本读取到一个字符串中,然后关闭此文件。
2)语法:返回string 是包含文件内容的字符串。

public static string ReadAllText (string path, System.Text.Encoding encoding);
public static string ReadAllText (string path);
重载 重载说明
ReadAllText(String, Encoding) 打开一个文件,使用指定的编码读取文件中的所有文本,然后关闭此文件。
ReadAllText(String) 打开一个文本文件,读取文件中的所有文本,然后关闭此文件。

14:File.Replace的方法介绍

1)作用:使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
2)语法:

public static void Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName);
public static void Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors);
重载 重载说明
Replace(String, String, String) 使用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份。
Replace(String, String, String, Boolean) 用其他文件的内容替换指定文件的内容,这一过程将删除原始文件,并创建被替换文件的备份,还可以忽略合并错误。

15:File.WriteAllBytes(String, Byte[]) 的方法介绍

1)作用:创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。 如果目标文件已存在,则覆盖该文件。
2)语法:

public static void WriteAllBytes (string path, byte[] bytes);

3)使用举例:

string Strr = "C#高级教程的学习";
string path = @"H:\bilibi_Temp\MyTest.txt";

//将字符串转成字节数组
byte[] buffer_A = Encoding.Default.GetBytes(Strr);

File.WriteAllBytes(path, buffer_A);
Console.WriteLine("写入成功");

16:File.WriteAllLines的方法介绍

1)作用:创建一个新文件,在其中写入一个或多个字符串,然后关闭该文件。
2)语法:

public static void WriteAllLines (string path, string[] contents, System.Text.Encoding encoding);
public static void WriteAllLines (string path, string[] contents);
重载 重载说明
WriteAllLines(String, String[], Encoding) 创建一个新文件,使用指定编码在其中写入指定的字符串数组,然后关闭该文件。
WriteAllLines(String, String[]) 创建一个新文件,在其中写入指定的字节数组,然后关闭该文件。

17:File.WriteAllText 的方法介绍

1)作用:创建一个新文件,向其中写入内容,然后关闭文件。 如果目标文件已存在,则覆盖该文件。
2)语法:

public static void WriteAllText (string path, string contents);
public static void WriteAllText (string path, string contents, System.Text.Encoding encoding);
重载 重载说明
WriteAllText(String, String) 创建一个新文件,向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。
WriteAllText(String, String, Encoding) 创建一个新文件,使用指定编码向其中写入指定的字符串,然后关闭文件。 如果目标文件已存在,则覆盖该文件。
string path = @"H:\bilibi_Temp\MyTest.txt";
if (!File.Exists(path))
{
    string createText = "Freedom and justice"   Environment.NewLine;
    File.WriteAllText(path, createText);
}

string appendText = "Freedom and justice"   Environment.NewLine;
File.AppendAllText(path, appendText);

//使用指定编码方式,打开要从中读取的文件.
string readText = File.ReadAllText(path,Encoding.Default);
Console.WriteLine(readText);

18:File.Copy 的方法介绍

1)作用:将现有文件复制到新文件。
2)语法:

public static void Copy (string sourceFileName, string destFileName);
public static void Copy (string sourceFileName, string destFileName, bool overwrite);
重载 重载说明
Copy(String, String) 将现有文件复制到新文件。 不允许覆盖同名的文件。
Copy(String, String, Boolean) 将现有文件复制到新文件。 允许覆盖同名的文件。

3)使用举例:

string path_A = @"H:\bilibi_Temp\MyTest.txt";
string path_B = @"H:\cilici_Temp\MyTest.txt";
File.Copy (path_A ,path_B);//复制文件
Console.WriteLine("复制成功");

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhghekkb
系列文章
更多 icon
同类精品
更多 icon
继续加载