美文网首页
C#操作文件

C#操作文件

作者: INSO8 | 来源:发表于2018-08-27 23:32 被阅读0次

    一、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数组
    

    相关文章

      网友评论

          本文标题:C#操作文件

          本文链接:https://www.haomeiwen.com/subject/jopziftx.html