C#操作文件

一、File类和FileInfo区别在于前者是静态类,后者需要实例化,实例化时需指定操作文件的路径,单一调用方法建议使用File类,调用快,无需进行实例化,如需在文件系统上进行多种文件操作建议使用FileInfo类,提高效率,无需每次寻找文件,
1、File类

            bool a=File.Exists(@"E:\a.txt");//判断文件是否存在
            File.Create(@"E:\b.txt");//创建文件,如存在将其内容覆盖掉,路径不存在或文件夹为只读,触发异常
            File.Copy(@"E:\b.txt",@"E:\a\b.txt",true);//复制文件,无第三个参数则不允许覆盖同名文件,则反之允许
            File.Move(@"E:\a\b.txt","E:\\b.txt");//移动文件,如目标文件已存在,则触发异常
            File.Delete("E:\\b.txt");//删除文件

2、FileInfo类

            FileInfo fileInfo=new FileInfo(@"E:\b\2.png");//实例化新的FileInfo对象并指定文件路径
            bool a=fileInfo.Exists;//判断文件是否存在
            fileInfo.Create();//创建新文件
            fileInfo.CopyTo(@"E:\b\2.png",true);//复制现有文件到新文件,无第二个参数则不允许覆盖同名文件,则反之允许
            fileInfo.MoveTo(@"E:\b\2.png");//移动文件,如目标文件已存在,则触发异常
            fileInfo.Delete();//删除文件
            Console.WriteLine(fileInfo.Name);//获取文件名称 2.png
            Console.WriteLine(fileInfo.CreationTime);//获取创建文件时间 2018/8/27 23:08:20
            Console.WriteLine(fileInfo.LastAccessTime);//获取上次访问该文件的时间 2018/8/27 23:05:02
            Console.WriteLine(fileInfo.LastWriteTime);//获取上次写入文件时间 2018/8/27 23:05:02
            Console.WriteLine(fileInfo.FullName);//获取文件的完整目录 E:\b\2.png
            Console.WriteLine(fileInfo.DirectoryName);//获取文件的完整路径 E:\b
            Console.WriteLine(fileInfo.IsReadOnly);//获取文件是否只读 False
            Console.WriteLine(fileInfo.Length);//获取文件的大小 0

二、Directory类和DirectoryInfo区别也在于前者是静态类,同上。。。

1、Directory类操作文件夹以及目录,因是静态类无需实例化:

            Directory.CreateDirectory(@"e:\a");//创建文件夹
            Directory.Delete(@"E:\a ");//删除文件
            Directory.Delete(@"e:\a",true);//删除文件以及第二个参数删除此文件夹下面的所有子文件
            bool a=Directory.Exists(@"e:\a");//判断文件是否存在
            Directory.Move(@"e:\b\c.txt",@"e:\a\c.txt");//移动文件 注:两路径需在同一磁盘,新的路径也包含新的文件名
            string[] a=Directory.GetFiles("e:\\","*.doc");//获取当前目录下所有的文件以及第二个参数获取指定的文件名
            string[] b=Directory.GetDirectories("e:\\","C*");//获取当前目录下所有的文件夹以及第二个参数获取匹配文件夹名

2、DirectoryInfo类

            DirectoryInfo di = new DirectoryInfo("E:\\");//实例化新的Directory对象并指定文件夹路径
            di.Create();//创建文件夹
            di.Delete();//删除文件夹
            di.Delete(true);//删除文件夹以及第二个参数为true删除不为空的文件夹
            bool a=di.Exists;//判断文件夹是否存在
            di.MoveTo(@"e:\b\a");//移动文件 注:两路径需在同一磁盘,新的路径也包含新的文件名
            DirectoryInfo[] directoryInfos= di.GetDirectories();//获取当前目录下所有的文件夹返回DirectoryInfo数组
            FileInfo[] fileInfos = di.GetFiles();//获取当前目录下所有的文件返回FlieInfo数组
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,891评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • 读文件 检查文件大小 写文件 StreamWriter方式 FileStream方式 删除固定行的内容
    玛玛哈哈m阅读 241评论 0 0
  • 第二学期开始了,回想结束的第一学期心里感受颇多,扒拉出来与大家分享。 2017年9月5日儿子怀着满腔...
    mdm_1981阅读 277评论 0 1
  • 现在科技非常发达,以前车主们把车停在一个地方,可能要回到原地才能发现车丢了!但是现在有了GPS定位器,这样的事情就...
    奥亚电子阅读 2,995评论 0 1