c# 文件操作 --学习笔记

这篇学习笔记探讨了C#中的文件操作,重点介绍了streamReader和filestream的区别,强调streamReader仅用于读取。文章通过代码示例展示了如何获取应用程序路径、当前目录、工作目录等相关信息,为C#新手提供了入门指导。
摘要由CSDN通过智能技术生成
        /*文件基本操作    
         * FileSystemInfo  (abstract)                      表示任何文件系统对象的基类
         * FileInfo(sealed) 和File (静态类)               表示文件系统上的文件
         * DirectoryInfo(sealed) 和Directory  (静态类)      表示文件系统上的文件夹
         * Path (静态类)                                    这个类包含的静态成员可以用于处理路径名
         * DriveInfo                                         这个类的属性和方法提供了指定驱动器的信息
         * System.MarshalByRefObject                         这是.net类中用于远程操作的基对象类,它允许在应用程序域之间编组数组。
         * 
         * file 和 directory 这两个类不需要实例化对象就可以对文件类进行操作,如果只对文件进行一次操作,这两个类的方法很有效,因为不需要实例化对象
         * fileInfo 和 directoryInfo 这两个类需要实例化对象才可以继续对文件进行操作,比较耗时。需要把每个实例和特定的文件或者文件夹关联起来。如果需要对一个文件或者文件夹
         * 进行多次操作,那么这两个类就比较合适。 而且这两个类的对象在构造时,就会读取合适文件系统对象的身份验证和其他信息。相应的无状态类需要再次检查文件或者文件夹的详细内容
         * 查看例子 1
         * 注意点 1: 在文件和文件夹对象创建时,如果输入一个空的path ,这时不会产生异常
         *       2: 在创建后,可以使用自带的exists方法来判断创建的文件或者文件夹是否是合适的类型,返回true表示格式正确,返回false表示格式错误。 此时也不会抛出异常。
         *       3: 如果创建文件或者文件夹发现不是合适的类型之后,再调用错误的方法,此时才会抛出异常。
         *       4: 如果创建的文件或者文件夹是合适的类型,那么就可以使用自带的方法去查看对象的信息
         *       主要属性
         *       CreationTime                            创建文件或文件夹的时间
         *       DirectoryName (仅用于FileInfo)           包含文件夹的完整路径名  
         *       Parent(仅用于DirectoryInfo)            指定子目录的父目录
         *       Exists                                  文件或者文件夹是否存在
         *       Extension                                文件的扩展名,文件夹返回空白
         *       FullName                                文件或者文件夹的完整路径名
         *       LastAccessTime                          最后一次访问文件或者文件夹的时间
         *       LastWriteTime                           最后一次修改文件或者文件夹的时间
         *       name                                    文件或者文件夹的名称
         *       Root(仅用于DirectoryInfo)              路径根部分
         *       Length (仅用于FileInfo)                  返回文件的大小(字节单位)
         * 查看例子1
         *       文件系统对象主要操作方法
         *       create()                                  创建给定名称的文件夹或者空文件。对于FileInfo,该方法会返回一个流对象,以便写入文件
         *       delete()                                  删除文件或者文件夹,对于文件夹有一个可以递归的Delete选项
         *       MoreTo()                                  移动或重命名文件或文件夹
         *       CopyTo()                                  (仅用于FileInfo) 复制文件,注意文件夹没有复制方法。如果需要复制完整的目录树,需要单独复制每个文件,创建对应旧文件夹的新文件夹
         *       GetDirectories()                         (仅用于DirectoryInfo) 返回DirectoryInfo对象数组,该数组表示文件夹中包含的所有文件
         *       GetFiles()                               (仅用于DirectoryInfo) 返回FileInfo对象数组,该数组表示文件夹中包含的所有文件       
         *       EnumerateFiles()                          返回文件名的Ienumerable<string>。在返回整个列表之前,可以对列表中的项执行操作
         *       GetFileSystemInfos()                     (仅用于DirectoryInfo)返回FileInfo和DirectoryInfo对象,把文件夹中包含的所有对象表示为一个FileSystemInfo引用数组
         *  
         *      Path类
         *      path类不能被实例化,只有一些静态方法,用于对路径名进行操作
         *      
         *      例子2
         *      输入一个路径,如果是文件,就输出文件的完整路径,名字,创建时间,最后一次访问时间,最后一次修改时间,大小
         *      如果是文件夹,则输出文件夹的全称,遍历文件夹目录下的所有文件夹和文件。
         *      
         *      
         *      移动,复制,删除操作
         *      Moveto(),deleteTo()方法,对应file和directory类的方法就是move,delete 方法(删除方法使用后,不会进入回收站)(删除文件夹时,内部必须为空,必须没有包含的文件或者文件夹)
         *      文件复制操作就是copyto,对应file方法copy
         *      文件夹没有复制整个文件夹的方法,应该复制整个文件夹中的所有文件
         *      
         *      
         *      读写文件-例子3
         *      1 读取文件
         *      使用file.readallText(string) 可以添加path
         *      readallBytes 用来读取二进制文件
         *      readalllines 根据每行的内容,返回一个字符串数组
         *      2 写入文件
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值