C#(System.IO)文件处理方法(全面)

这篇具有很好参考价值的文章主要介绍了C#(System.IO)文件处理方法(全面)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


System.IO是C#中用于输入和输出操作的命名空间。它提供了许多类和方法,用于处理文件、文件夹和流的读取和写入操作。以下是一些System.IO命名空间中常用的类和功能:
File类:用于创建、复制、移动、删除和读写文件等操作。它包含一组静态方法,例如Create、Copy、Move、Delete、ReadAllText、WriteAllText等。
Directory类:用于创建、复制、移动和删除文件夹等操作。它包含一组静态方法,例如CreateDirectory、Copy、Move、Delete等。
Path类:用于处理文件和文件夹路径的常见操作。它包含一组静态方法,例如Combine(用于组合路径)、GetExtension(获取文件扩展名)、GetFileName(获取文件名)等。
FileStream类:用于在文件中进行读取和写入操作的流。它允许你以字节为单位读取和写入文件内容。
StreamReader和StreamWriter类:用于以文本方式读取和写入文件内容的流。它们提供了更方便的方法,如逐行读取和写入文本数据。
BinaryReader和BinaryWriter类:用于以二进制格式读取和写入文件内容的流。它们允许你以字节为单位读取和写入数据,适用于处理二进制文件。
这些只是System.IO命名空间中一些常用的类和功能。你可以通过查阅官方文档或参考资料来了解更多类和方法的详细信息和用法。

  • File类:用于创建、复制、移动、删除和读写文件等操作

File 类是 System.IO 命名空间中用于执行文件相关操作的静态类。它提供了一组方法,用于创建、复制、移动、删除和读写文件等操作。以下是 File 类的一些常用方法和用法:
创建文件:
string filePath = "C:\\path\\to\\file.txt";
File.Create(filePath);
上述代码创建了一个名为 "C:\\path\\to\\file.txt" 的文件。你可以使用 Create 方法来创建文件,并返回一个 FileStream 对象以进行进一步的读写操作。

复制文件:
string sourceFilePath = "C:\\path\\to\\source.txt";
string destFilePath = "C:\\path\\to\\destination.txt";
File.Copy(sourceFilePath, destFilePath);
以上代码将名为 "source.txt" 的文件复制到 "destination.txt"。

移动文件:
string sourceFilePath = "C:\\path\\to\\source.txt";
string destFilePath = "C:\\path\\to\\destination.txt";
File.Move(sourceFilePath, destFilePath);
以上代码将名为 "source.txt" 的文件移动到 "destination.txt"。如果目标文件已存在,将被覆盖。

删除文件:
string filePath = "C:\\path\\to\\file.txt";
File.Delete(filePath);
以上代码删除名为 "file.txt" 的文件。

读取文件内容:
string filePath = "C:\\path\\to\\file.txt";
string content = File.ReadAllText(filePath);
以上代码将文件 "file.txt" 的内容作为字符串读取到变量 content 中。你还可以使用 File.ReadAllLines 方法逐行读取文件内容,或使用 File.OpenRead 方法创建一个 FileStream 对象进行更底层的读取操作。

写入文件内容:
string filePath = "C:\\path\\to\\file.txt";
string content = "Hello, World!";
File.WriteAllText(filePath, content);
以上代码将字符串内容写入文件 "file.txt"。你还可以使用 File.WriteAllLines 方法写入字符串数组的内容,或使用 File.OpenWrite 方法创建一个 FileStream 对象进行更底层的写入操作。
File 类还提供了其他方法和属性,如检查文件是否存在、获取文件的创建时间和修改时间、获取文件的大小等。你可以进一步探索官方文档和参考资料,以了解更多关于 File 类的详细信息和用法。
请注意,在执行文件操作时要小心处理文件的读写权限,并遵循正确的异常处理和资源管理实践,以确保文件操作的安全性和可靠性。

  • Directory类:用于创建、复制、移动和删除文件夹等操作

Directory类是System.IO命名空间中用于处理文件夹(目录)的操作的主要类。它提供了许多方法来创建、复制、移动和删除文件夹。以下是一些Directory类常用的方法:
CreateDirectory:创建一个新的文件夹。
string path = "C:\\path\\to\\folder";
Directory.CreateDirectory(path);

Delete:删除指定的文件夹。
string path = "C:\\path\\to\\folder";
Directory.Delete(path);

Move:将文件夹移动到新的位置。
string sourcePath = "C:\\path\\to\\folder";
string destinationPath = "C:\\new\\path\\to\\folder";
Directory.Move(sourcePath, destinationPath);

Exists:检查文件夹是否存在。
string path = "C:\\path\\to\\folder";
bool exists = Directory.Exists(path);

GetDirectories:获取指定文件夹中的所有子文件夹的路径。
string path = "C:\\parent\\folder";
string[] subDirectories = Directory.GetDirectories(path);
foreach (string subDirectory in subDirectories)
{
    Console.WriteLine(subDirectory);
}

GetFiles:获取指定文件夹中的所有文件的路径。
string path = "C:\\parent\\folder";
string[] files = Directory.GetFiles(path);
foreach (string file in files)
{
    Console.WriteLine(file);
}

Copy:复制文件夹及其内容到新的位置。
string sourcePath = "C:\\source\\folder";
string destinationPath = "C:\\destination\\folder";
Directory.Copy(sourcePath, destinationPath);
上述方法提供了一些常见的文件夹操作,但还有其他更多的方法可以进一步探索和学习。请注意,在进行文件夹操作时,确保对于需要的操作具有适当的权限和安全性。

  • Path类:用于处理文件和文件夹路径的常见操作。

Path类是System.IO命名空间中用于处理文件和文件夹路径的常见操作的类。它提供了一组静态方法,可以轻松处理路径字符串。以下是一些Path类常用的方法:

Combine:将多个字符串组合成一个路径字符串。
string path1 = "C:\\path\\to";
string path2 = "file.txt";
string combinedPath = Path.Combine(path1, path2);
// 结果:C:\path\to\file.txt

GetFileName:从路径字符串中获取文件名(包括文件扩展名)。
string path = "C:\\path\\to\\file.txt";
string fileName = Path.GetFileName(path);
// 结果:file.txt

GetDirectoryName:从路径字符串中获取文件夹路径。
string path = "C:\\path\\to\\file.txt";
string directoryName = Path.GetDirectoryName(path);
// 结果:C:\path\to

GetExtension:从路径字符串中获取文件的扩展名。
string path = "C:\\path\\to\\file.txt";
string extension = Path.GetExtension(path);
// 结果:.txt

GetFileNameWithoutExtension:从路径字符串中获取文件名(不包括扩展名)。
string path = "C:\\path\\to\\file.txt";
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path);
// 结果:file

GetFullPath:获取指定路径字符串的绝对路径。
string relativePath = "folder\\file.txt";
string fullPath = Path.GetFullPath(relativePath);
// 结果:C:\current\directory\folder\file.txt
这些方法可以帮助你执行常见的路径操作,如组合路径、提取文件名和文件夹路径、获取文件扩展名等。Path类还提供了其他方法,如处理根路径、路径规范化和路径比较等。你可以查阅官方文档以了解更多详细信息和用法。
使用Path类时,确保考虑不同操作系统(例如Windows和Linux)对路径的约定和差异,以确保你的代码在不同环境中正确工作。

  • FileStream类:用于在文件中进行读取和写入操作的流。

FileStream类是System.IO命名空间中用于在文件中进行读取和写入操作的流的主要类。它提供了直接对文件进行读写的功能,以字节为单位进行操作。以下是FileStream类的一些常用方法和用法:

创建 FileStream 对象:
string filePath = "C:\\path\\to\\file.txt";
FileStream fileStream = new FileStream(filePath, FileMode.Open);
上述代码创建了一个 FileStream 对象,将文件 "C:\\path\\to\\file.txt" 以只读模式打开。

读取文件内容:
byte[] buffer = new byte[1024]; // 定义一个缓冲区
int bytesRead = fileStream.Read(buffer, 0, buffer.Length); // 从文件中读取数据到缓冲区
string content = Encoding.UTF8.GetString(buffer, 0, bytesRead); // 将字节转换为字符串
以上代码从文件中读取数据,并将其存储在缓冲区中。然后使用适当的编码将字节转换为字符串。

写入文件内容:
string content = "Hello, World!";
byte[] buffer = Encoding.UTF8.GetBytes(content); // 将字符串转换为字节
fileStream.Write(buffer, 0, buffer.Length); // 将字节写入文件
以上代码将字符串转换为字节,并将字节写入文件。

关闭 FileStream:
fileStream.Close(); // 关闭文件流
确保在不再需要使用 FileStream 对象时,及时关闭它以释放资源。
FileStream 类还提供了其他方法和属性,如 Seek(设置流的位置)、Flush(刷新流的缓冲区)和 Length(获取文件长度)等。你可以进一步探索官方文档和参考资料,以了解更多关于 FileStream 类的详细信息和用法。
请注意,在使用 FileStream 时要小心处理文件的读写权限,并遵循正确的异常处理和资源管理实践,以确保文件操作的安全性和可靠性。

  • StreamReader和StreamWriter类:用于以文本方式读取和写入文件内容的流。

StreamReader 和 StreamWriter 类是 System.IO 命名空间中用于以文本方式读取和写入文件内容的流的类。它们提供了更方便的方法来处理文本数据,而不需要直接与字节进行交互。以下是 StreamReader 和 StreamWriter 类的一些常用方法和用法:

创建 StreamReader 对象:
string filePath = "C:\\path\\to\\file.txt";
StreamReader reader = new StreamReader(filePath);
上述代码创建了一个 StreamReader 对象,将文件 "C:\\path\\to\\file.txt" 以默认编码方式打开进行读取。

逐行读取文件内容:
string line;
while ((line = reader.ReadLine()) != null)
{
    Console.WriteLine(line);
}
以上代码逐行读取文件内容并输出每行的内容。ReadLine() 方法返回文件中的下一行文本,并在到达文件末尾时返回 null。

读取整个文件内容:
string content = reader.ReadToEnd();
以上代码将文件的全部内容读取为一个字符串。

创建 StreamWriter 对象:
string filePath = "C:\\path\\to\\file.txt";
StreamWriter writer = new StreamWriter(filePath);
上述代码创建了一个 StreamWriter 对象,用于将文本写入文件 "C:\\path\\to\\file.txt"。

写入文本到文件:
string content = "Hello, World!";
writer.Write(content);
以上代码将文本内容写入文件。

关闭 StreamReader 和 StreamWriter:
reader.Close(); // 关闭 StreamReader
writer.Close(); // 关闭 StreamWriter
确保在不再需要使用 StreamReader 和 StreamWriter 对象时,及时关闭它们以释放资源。

StreamReader 和 StreamWriter 类还提供了其他方法和属性,如设置编码、读取特定长度的文本、写入换行符等。你可以进一步探索官方文档和参考资料,以了解更多关于 StreamReader 和 StreamWriter 类的详细信息和用法。
请注意,使用 StreamReader 和 StreamWriter 时要小心处理文件的读写权限,并遵循正确的异常处理和资源管理实践,以确保文本数据的安全性和可靠性。

如设置编码、读取特定长度的文本、写入换行符等
当使用 StreamReader 和 StreamWriter 类时,你可以通过构造函数和属性来设置编码方式,并使用相应的方法来读取特定长度的文本和写入换行符。
设置编码方式:
// 使用指定的编码方式创建 StreamReader 对象
StreamReader reader = new StreamReader(filePath, Encoding.UTF8);

// 使用指定的编码方式创建 StreamWriter 对象
StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8);
在上述示例中,使用 Encoding.UTF8 来指定以 UTF-8 编码方式进行读写操作。你可以根据需要选择不同的编码方式,例如 Encoding.ASCII、Encoding.Unicode 等。

读取特定长度的文本:
char[] buffer = new char[1024]; // 定义一个缓冲区
int charsRead = reader.Read(buffer, 0, buffer.Length); // 从流中读取字符到缓冲区
string text = new string(buffer, 0, charsRead); // 将字符数组转换为字符串
上述代码示例读取最多 buffer.Length 个字符,并将它们存储在缓冲区中。然后使用实际读取的字符数创建一个新的字符串。

写入换行符:
writer.WriteLine(); // 写入一个换行符
上述代码示例写入一个换行符到文件中。WriteLine 方法会根据平台的换行约定自动写入相应的换行符。
除了上述示例,StreamReader 和 StreamWriter 类还提供了其他方法和属性,如设置缓冲区大小、检测流的末尾、控制是否自动刷新缓冲区等。你可以查阅官方文档以了解更多关于 StreamReader 和 StreamWriter 类的详细信息和用法。
记住,在使用 StreamReader 和 StreamWriter 时,要注意处理文件的读写权限,并遵循正确的异常处理和资源管理实践,以确保文本数据的安全性和可靠性。

  • BinaryReader和BinaryWriter类:用于以二进制格式读取和写入文件内容的流。

BinaryReader 和 BinaryWriter 类是 System.IO 命名空间中用于以二进制格式读取和写入文件内容的流的类。它们提供了对二进制数据进行读写的功能,允许以更底层的方式处理数据。以下是 BinaryReader 和 BinaryWriter 类的一些常用方法和用法:

创建 BinaryReader 对象:
string filePath = "C:\\path\\to\\file.bin";
FileStream fileStream = new FileStream(filePath, FileMode.Open);
BinaryReader reader = new BinaryReader(fileStream);
上述代码创建了一个 BinaryReader 对象,将文件 "C:\\path\\to\\file.bin" 以只读模式打开进行二进制读取。

读取二进制数据:
int intValue = reader.ReadInt32(); // 读取一个 int 值
double doubleValue = reader.ReadDouble(); // 读取一个 double 值
byte[] buffer = new byte[1024];
int bytesRead = reader.Read(buffer, 0, buffer.Length); // 读取字节数组
以上代码示例演示了几个常用的读取方法。ReadInt32 读取一个 32 位整数,ReadDouble 读取一个双精度浮点数,Read 读取指定长度的字节数组。

创建 BinaryWriter 对象:
string filePath = "C:\\path\\to\\file.bin";
FileStream fileStream = new FileStream(filePath, FileMode.Create);
BinaryWriter writer = new BinaryWriter(fileStream);
上述代码创建了一个 BinaryWriter 对象,用于将二进制数据写入文件 "C:\\path\\to\\file.bin"。

写入二进制数据:
int intValue = 42;
double doubleValue = 3.14;
byte[] buffer = new byte[] { 0x01, 0x02, 0x03 };
writer.Write(intValue); // 写入一个 int 值
writer.Write(doubleValue); // 写入一个 double 值
writer.Write(buffer, 0, buffer.Length); // 写入字节数组
以上代码示例演示了几个常用的写入方法。Write 方法用于写入不同类型的二进制数据,包括整数、浮点数和字节数组。

关闭 BinaryReader 和 BinaryWriter:
reader.Close(); // 关闭 BinaryReader
writer.Close(); // 关闭 BinaryWriter
确保在不再需要使用 BinaryReader 和 BinaryWriter 对象时,及时关闭它们以释放资源。
BinaryReader 和 BinaryWriter 类还提供了其他方法和属性,如读取和写入不同大小的整数、浮点数、字符串和布尔值等。你可以进一步探索官方文档和参考资料,以了解更多关于 BinaryReader 和 BinaryWriter 类的详细信息和用法。
请注意,在使用 BinaryReader 和 BinaryWriter 时要小心处理文件的读写权限,并遵循正确的异常文章来源地址https://www.toymoban.com/news/detail-497839.html

到了这里,关于C#(System.IO)文件处理方法(全面)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity报错命名空间System.IO.Ports不存在解决方法SerialPort

    尝试解决方法:工具–Nuget包管理器(N)–管理解决方案的Nuget程序包(N)搜索SerialPort,重新下载System.IO.Ports,报错仍然存在; 发现问题在于设定,使用这个包的时候必须将Project Settings – Player – Other settings – Configuration – API Compatibility Level 从 .NET standard 2.1 改成 .NET

    2024年04月17日
    浏览(40)
  • Vivado约束添加方法:一文全面解析IO和时序约束

    FPGA开发离不开IO约束和时序约束,IO约束用于确定输入/输出端口的物理端口和电气特性,与芯片和电路设计有关。而时序约束则用于设定FPGA设计中的时序特性,以确保系统能够在预期时钟频率下正常运行。本文将介绍vivado中常见的设置约束的方法。 IO约束,实际上是将工程的

    2024年02月02日
    浏览(46)
  • C#进阶-用于Excel处理的程序集

    在.NET开发中,处理Excel文件是一项常见的任务,而有一些优秀的Excel处理包可以帮助开发人员轻松地进行Excel文件的读写、操作和生成。本文介绍了NPOI、EPPlus和Spire.XLS这三个常用的.NET Excel处理包,分别详细介绍了它们的特点、示例代码以及使用方法。通过对这些程序集的比较

    2024年03月20日
    浏览(43)
  • Unity C# 使用IO流对文件的常用操作

    IO流是C#语言中对文件操作常用的方式,但在Unity跨平台开发中需要注意有些平台不支持IO,有些平台的只读文件不支持支持操作,例如安卓平台的读取StreamingAsset文件夹等。 大部分项目中都会有大量的对文件操作需求,因此我使用IO流整理编写了一些常用的对文件操作方法,需

    2024年02月09日
    浏览(34)
  • C#中Enumerable.Range(Int32, Int32) 方法用于计算

    目录 一、关于Enumerable.Range(Int32, Int32) 方法 1.定义 2.Enumerable.Range()用于数学计算的操作方法 3.实例1:显示整型数1~9的平方 4.实例2:显示整型数0~9 5.实例3:Enumerable.Range()vs for循环  (1)使用Enumerable.Range() (2)使用for循环 (3)再用Enumerable.Range() (4)再用Enumerable.Range

    2024年01月20日
    浏览(42)
  • 【100天精通python】Day27:文件与IO操作_CSV文件处理

    目录  专栏导读   1. CSV文件格式简介 2 csv模块的使用方法 3 读写CSV文件的示例

    2024年02月14日
    浏览(48)
  • 【100天精通python】Day28:文件与IO操作_JSON文件处理

      目录   专栏导读  1. JSON数据格式简介 1.1 示例JSON数据 1.2 JSON文件的特点 

    2024年02月14日
    浏览(54)
  • 服务无法启动。 System.IO.FileNotFoundException

    启动服务查看报错日志: 打开控制面板-管理工具-事件查看器-Windows日志-应用程序 错误如下: 无法启动服务。System.IO.FileNotFoundException: 未能加载文件或程序集“Creating.SyncData, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。 文件名:“

    2024年02月06日
    浏览(27)
  • Linux 统计文件数量:多种方法全面掌握

    你是否想过在 Linux 系统中如何快速地统计某个目录下文件的数量?作为 Linux 用户,这是一个很常见的需求。无论是进行系统维护,还是管理文件,我们都需要掌握这个技能。在本文中,我们将向你介绍多种不同的方法来实现这个目标。 统计目录中的文件数量 统计目录中文件

    2024年02月16日
    浏览(46)
  • .NET 高性能I/O之道:深度探索 System.IO.Pipelines

    🏆作者:科技、互联网行业优质创作者 🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 🏆欢迎关注我(Net数字智慧化基地),里面有很多 高价值 技术文章, 是你刻苦努力也积累不到的经验 ,能助你快速成长。升职

    2024年03月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包