C#中操作IO常用类
2021/6/1 14:50:50
本文主要是介绍C#中操作IO常用类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在C#里我们操作IO的话,微软为我们封装了好几个实用的静态类,如Directory类,File类 也提供了需要实例的普通类,DirectoryInfo,FileInfo类
首先需要说明一下两者的图别和使用场景:
例如FileInfo类和File类之间许多方法调用都是相同的,但是FileInfo类没有静态方法,该类中的方法仅可以用于实例化的对象。File类是静态类,其调用需要字符串参数为每一个方法调用规定文件位置,因此如果要在对象上进行单一方法 调用,则可以使用静态File类。在这种情况下静态调用速度要快一些,因为.NET框架不必执行实例化对象并调用其方法。如果要在文件上执行几种操作,则实例化FileInfo对象并调用其方法更好一些,这样会提高效率,因为对象将在文件系统上引用正确的文件,而静态类却必须每次都必须寻找文件 结论:对于一个文件的单一操作,使用静态更好, 复杂操作使用普通类更好1 //File确定指定的文件是否存在。 2 public static bool Exists(string path); 3 //FileInfo获取指示文件是否存在的值。 4 public override bool Exists { get; } 5 6 //File类 7 Console.WriteLine(File.Exists(@"D:\1\1.txt")); 8 //FileInfo类 9 FileInfo fi = new FileInfo(@"D:\1\1.txt");//创建文件对象 10 Console.WriteLine(fi.Exists);//判断文件是否存在
File类
//File类 var dir = "C:\\Users\\enjoy\\Desktop\\Dir\\test.txt"; //判断是否存在 if (File.Exists(dir)) { //追加文本 File.AppendAllText(dir, "我要追加"); string content = File.ReadAllText(dir); Console.WriteLine(string.Format("文本的内容为:{0}", content.Trim())); //删除文件 File.Delete(dir); } else { using (var writer = File.CreateText(dir)) { writer.WriteLine("你好"); writer.WriteLine("再见"); } }
Directory类
//Directory类 string DirL = "C:\\Users\\enjoy\\Desktop\\Dir\\测试目录\\"; //判断目录是否存在 if (!Directory.Exists(DirL)) { //创建目录 var ttt = Directory.CreateDirectory(DirL); //添加测试文件 for (int i = 0; i < 10; i++) { if (!File.Exists(DirL + "这是第" + i + ".txt")) { using (var temp = File.CreateText(DirL + "这是第" + i + ".txt")) { temp.Write("第" + i + "记录所添加"); temp.Write("*********************"); } } }; } //获取目录文件路径 string[] files = Directory.GetFiles(DirL); foreach (var item in files) { Console.WriteLine(item); } //删除路径 Directory.Delete(DirL);
这篇关于C#中操作IO常用类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统