您的位置:新葡亰496net > 奥门新萄京娱乐场 > 文本操作,读写文件

文本操作,读写文件

发布时间:2019-11-09 07:51编辑:奥门新萄京娱乐场浏览(58)

    文件与公事夹操作首要选拔以下多少个类:

    一、File方法
       AppendAllText  已重载。 将钦点的字符串追加到文件中,如若文件还不真实则成立该公文。 
       AppendText  创始多个 StreamWriter,它将 UTF-8 编码文本追加到存活文件。 
       Copy  已重载。 将现成文件复制到新文件。 
       Create  已重载。 在钦定路径中开创文件。 
       CreateText  创设或打开一个文本用于写入 UTF-8 编码的文本。 
       Decrypt  解密由近年来帐户使用 Encrypt 方法加密的文本。 
       Delete  删除钦命的文书。假使钦定的文本官样文章,则不吸引那么些。 
       Encrypt  将有个别文件加密,使得只有加密该公文的帐户才能将其解密。
       Equals   已重载。 分明四个 Object 实例是还是不是等于。 (从 Object 继承。卡塔尔国 
       Exists  鲜明内定的文本是还是不是留存。   
       GetAttributes  获取在那路线上的文书的 FileAttributes。 
       GetCreationTime  再次来到钦命文件或目录的创始日期和岁月。  
       GetHashCode   用作一定项指标哈希函数。GetHashCode 符合在哈希算法和数据结构(如哈希表卡塔尔国中动用。 (从 Object 世袭。卡塔 尔(英语:State of Qatar) 
       GetLastAccessTime  重返上次拜会钦定文件或目录的日子和岁月。 
       GetLastAccessTimeUtc  重回上次访问钦赐的公文或目录的日子及时间,其格式为和谐通用时间 (UTC)。 
       GetLastWriteTime  再次来到上次写入钦定文件或目录的日期和时间。 
       GetLastWriteTimeUtc  重返上次写入钦定的文件或目录的日子和岁月,其格式为和煦通用时间 (UTC)。 
       GetType   获取当前实例的 Type。 (从 Object 世袭。卡塔尔国 
       Move  将点名文件移到新职务,并提供内定新文件名的选项。 
       Open  已重载。 展开钦赐路径上的 FileStream。 
       OpenRead  张开现存文件以拓宽读取。 
       OpenText  展开现成 UTF-8 编码文本文件以拓宽读取。 
       OpenWrite  张开现成文件以拓宽写入。 
       ReadAllBytes  张开四个文件,将文件的内容读入一个字符串,然后关门该公文。 
       ReadAllLines  已重载。 张开多少个文书文件,将文件的全数行都读入一个字符串数组,然后关门该文件。 
    文本操作,读写文件。   ReadAllText  已重载。 张开一个文书文件,将文件的兼具行读入叁个字符串,然后停业该公文。 
       Replace  已重载。 使用任何文件的原委替换钦定文件的内容,那大器晚成进程将去除原始文件,并创造被调换文件的备份。 
       SetAttributes  设置钦命路径上文件的钦定的 FileAttributes。 
       ToString   再次来到表示这段时间 Object 的 String。 (从 Object 世袭。卡塔尔国 
       WriteAllBytes  成立三个新文件,在内部写入内定的字节数组,然后停业该文件。假设目的文件已存在,则改写该文件。 
       WriteAllLines  已重载。 创造一个新文件,在里边写入内定的字符串,然后停业文件。假如指标文件已存在,则改写该文件。 
       WriteAllText  已重载。 创立三个新文件,在文书中写入内容,然后停业文件。借使指标文件已存在,则改写该文件。 

    我们能够利用C#的IO库进行文件,文本的读写操作,常常的操作是先开发布文书件,举行读写操作,再关闭文件。个中展开文件的操作能够通过FileInfo对象开展,也得以经过File类实行,但是更常用和有援助的是用File类实行,所以本文将只介绍用File类张开文件的办法。

      1.File类:提供用于制造、复制、删除、移动和开辟文件的静态方法,并推推搡搡创建FileStream 对象。

     

    风度翩翩.文件的总结读写操作
    如若你只想张开文件轻松的读写,File类提供了一些函数能够一条语句就成功展开文件,读或写,关闭文件等操作:
    1.读取文件内容
    上边包车型地铁主意都将先展开文件,读取并关闭文件,文件空中楼阁将会报错
    ReadAllBytes:以字节数组byte[]的样式获得文件内容
    ReadAllLines:以字符串数组string[]的格局获得文件内容,能够指确定人员编制码方式,要是不钦赐编码,将尝试自动检查测量检验文件的编码
    ReadAllText: 以字符串string的花样得到文件内容,能够钦命编码格局,假如不钦命编码,将尝试自动检查测验文件的编码
    ReadLines:重返IEnumerable<string>方式的字符串数组,那样能够用如下的措施大器晚成行行的访谈文件内容,能够钦赐编码情势,借使不内定编码,将利用UTF-8编码
    foreach (string line in File.ReadLines(@"c:jingletest.txt"))
    文本操作,读写文件。{
      Console.WriteLine(line);
    }

        msdn:

    二、FileInfo方法

    2.写入文件内容
    上面包车型大巴法门都将先新建文件并张开,写入并关闭文件,假诺文件存在将隐蔽最早的作品件
    WriteAllBytes:以字节数组byte[]的样式写入文件内容
    WriteAllLines:以字符串数组string[]或IEnumerable<string>的样式写入文件内容,能够钦命编码情势,如果不钦点编码,将利用UTF-8编码
    WriteAllText:以字符串string的样式得到文件内容,可以指确定人员编制码方式,如若不点名编码,将使用UTF-8编码

      2.FileInfo类:要求提供实例方法,掌握就能够。    msdn:

      AppendText  创设贰个 StreamWriter,它向 FileInfo 的此实例表示的文件增Gavin本。 
      CopyTo  已重载。 将现存文件复制到新文件。 
      Create  创设文件。 
      CreateObjRef   创造贰个指标,该目的蕴涵生成用于与远程对象实行通讯的代办所需的满贯皮之不存毛将焉附音信。 (从 马尔斯halByRefObject 世襲。卡塔 尔(英语:State of Qatar) 
      CreateText  成立写入新文本文件的 StreamWriter。 
      Decrypt  使用 Encrypt 方法解密由方今帐户加密的文本。 
      Delete  已重写。 长久删除文件。 
      Encrypt  将某些文件加密,使得独有加密该文件的帐户手艺将其解密。 
      Equals   已重载。 分明七个 Object 实例是不是等于。 (从 Object 世襲。卡塔尔 
      MoveTo  将钦赐文件移到新岗位,并提供内定新文件名的选项。 
      Open  已重载。 用各样读/写访谈权限和分享特权打开文件。 
      OpenRead  成立只读 FileStream。 
      OpenText  创设使用 UTF8 编码、从现成文本文件中开展读取的 StreamReader。 
      OpenWrite  创立只写 FileStream。 
      Replace  已重载。 使用当前 FileInfo 对象所描述的文书替换钦命文件的内容,那大器晚成经过将去除原始文本,并创立被替换文件的备份。   
      ToString  已重写。 以字符串情势再次回到路线。 

    3.添Gavin书内容
    上面包车型大巴点子都将先张开文件,增添源委并关闭文件,文件官样文章将会新建文件
    AppendAllLines:以字符串数组string[]或IEnumerable<string>的花样写入文件内容,能够钦定编码情势,借使不钦赐编码,将使用UTF-8编码
    AppendAllText:以字符串string的花样获得文件内容,可以钦赐编码方式,假诺不钦点编码,将动用UTF-8编码

      3.Directory类:用于开创、移动和枚举通过目录和子目录的静态方法。

     

    二.用FileStream操作文本内容
    FileStream继承自Stream
    1.创建FileStream
    File类提供了一些将文件张开成FileStream的函数
    public static FileStream Open(
     string path
     FileMode mode,
     FileAccess access,
     FileShare share
    )
    mode可以为Open,Create,append,
    access可以为Read, Write, 或ReadWrite
    share,文件能够用以下两种分享方式展开:
    a.None:不管文件以如何权限张开,在关闭文件前都不能够再张开
    b.Read:当文件展开时,只可以以读的权限重新张开
    c.Write:当文件张开时,只可以以写的权能重新张开
    d.ReadWrite:当文件打开时,还足以以写或读的权杖重新张开

        msdn:

    三、Directory方法(静态方法卡塔尔

    public static FileStream Create(
     string path,
     int bufferSize,
     FileOptions options,
     FileSecurity fileSecurity
    )
    options的值可以为以下选项的或值
    a.None
    b.WriteThrough 注明写的剧情不用缓存,直接存入文件
    c.Asynchronous 注明文件可异步读写
    d.RandomAccess 声明文件能够私自拜谒
    e.DeleteOnClose 申明文件不接纳后会自动删除
    f.SequentialScan 注解文件只可以挨个访问,在读超级大的公文时能提升效用
    g.Encrypted 注脚文件被加密

      4.DirectoryInfo类:须要提供实例方法,掌握就可以。

       CreateDirectory  已重载。 成立钦赐路径中的全数目录。 
       Delete  已重载。 删除内定的目录。 
       Exists  分明给定路线是或不是援引磁盘上的幸存目录。 
       GetCurrentDirectory  获取应用程序的当前工作目录。 
       GetDirectories  已重载。 获取钦定目录中子目录的称谓。 
       GetDirectoryRoot  重回钦命路径的卷音讯、根消息或两方同不经常候再次来到。 
       GetFiles  已重载。 重返钦赐目录中的文件的名目。 
       GetFileSystemEntries  已重载。 重返钦赐目录中全部文件和子目录的称呼。 
       GetHashCode   用作一定类型的哈希函数。GetHashCode 相符在哈希算法和数据结构(如哈希表卡塔尔中应用。 (从 Object 世襲。卡塔尔 
       GetLogicalDrives  检索此Computer上格式为“<驱动器号>:”的逻辑驱动器的称呼。 
       GetParent  检索钦赐路径的父目录,满含相对路线和相对路线。  
       Move  将文件或目录及其内容移到新职分。 
       SetCurrentDirectory  将应用程序的当前专门的学业目录设置为内定的目录。 
       ToString   重回表示这几天 Object 的 String。 (从 Object 世襲。卡塔尔国 

    OpenRead:
    等价于Open(path, FileMode.Open,FileAccess.Read,FileShare.Read)

        msdn:

     

    OpenWrite:
    等价于Open(path, FileMode.OpenOrCreate,FileAccess.Write,FileShare.None)

     

    四、DirectoryInfo方法

    除此以外还是能够一贯新建FileStream。

     

      Create  已重载。 创制目录。 
      CreateSubdirectory  已重载。 在钦赐路径中成立多少个或多个子目录。钦点路径可以是相对于 DirectoryInfo 类的此实例的门路。 
      Delete  已重载。 已重写。 从路线中删除 DirectoryInfo 及其内容。 
      Equals   已重载。 显明八个 Object 实例是不是等于。 (从 Object 继承。卡塔 尔(阿拉伯语:قطر‎ 
      GetDirectories  已重载。 重返当前目录的子目录。 
      GetFiles  已重载。 重返当前目录的文本列表。 
      GetFileSystemInfos  已重载。 检索表示当前目录的文本和子目录的强类型 FileSystemInfo 对象的数组。 
      GetHashCode   用作一定类型的哈希函数。GetHashCode 符合在哈希算法和数据结构(如哈希表卡塔尔国中利用。 (从 Object 世襲。卡塔尔 
      GetLifetimeService   检索调控此实例的生存期计策的眼下生存期服务对象。 (从 马尔斯halByRefObject 世襲。卡塔尔 
      GetObjectData   设置带有文件名和附加十分消息的 SerializationInfo 对象。 (从 FileSystemInfo 世袭。卡塔 尔(英语:State of Qatar) 
      GetType   获取当前实例的 Type。 (从 Object 继承。卡塔 尔(阿拉伯语:قطر‎ 
      MoveTo  将 DirectoryInfo 实例及其内容移动到新路径。     
      ToString  已重写。 再次来到客商所传递的本来路线。 

    2.读写操作
    可接收CopyTo,Read,Write,writebyte等函数写入字节数组.
    写入后用Flush函数驱除该流的具有缓冲区,并使得全体缓冲数据被写入到根底设备。
    假设想要撤废有些写入的数据,能够利用SetLength函数

    • Directory类:下边都以从msdn里面复制出来的措施

     

    3.定位
    用Seek(
     long offset,
     SeekOrigin origin
    )
    函数来张开定点。
    用origin来申明查找的发端地点是在文书头,文件尾,依然当下职责。
    offset是相对于origin地点的方便人民群众。

    CreateDirectory(String) 在内定路径中开创全体目录和子目录,除非它们曾经存在。

    五、FileAttributes枚举

    用Position直接固定

    CreateDirectory(String,DirectorySecurity) 在钦命路径中开创全部目录(除非已存在卡塔尔,并接受内定的 Windows 安全性。

     ReadOnly 文件为只读。
     Hidden 文件是暗藏的,因而未曾满含在普通的目录列表中。
     System 文件为系统文件。文件是操作系统的后生可畏局地或由操作系统以操纵格局接受。
     Directory 文件为二个索引。
     Archive 文件的存档状态。应用程序使用此属性为文件加上备份或移除标志。
     Device 保留供现在接收。
     Normal 文件平常,未有设置任何的习性。此属性仅在单独使用时有效。
     Temporary 文件是不时文件。文件系统试图将具有数据保存在内部存款和储蓄器中以便越来越快地访问,实际不是将数据刷新回大容积存款和储蓄器中。不再必要有的时候文件时,应用程序会马上将其删除。
     SparseFile 文件为疏小说件。萧疏文件日常是数量平日为零的大文件。
     ReparsePoint 文件包蕴四个双重深入分析点,它是多少个与公事或目录关联的顾客定义的数据块。
     Compressed 文件已回退。
     Offline 文件已脱机。文件数量不可能即时供役使。
     NotContentIndexed 操作系统的内容索引服务不会成立此文件的目录。
     Encrypted 该文件或目录是加密的。对于文本来讲,表示文件中的全体数据都以加密的。对于目录来讲,表示新创制的文本和目录在私下认可情形下是加密的。

    4.判别是或不是读到文件尾
    经过相比Length和Position属性来判定是或不是是文件尾

    Delete(String) 从钦赐路径删除空目录。

     

    5.异步读写
    当操作的文书太大,必要打开异步读写以进步品质
    要扩充异步读写,首先文本需求用异步的艺术打开
    a.可使用 FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) 函数,以异步形式张开
    b.可通过设置FileOptions参数,以异步情势张开

    Move(String,String) 将文件或目录及其内容移到新岗位。

    六、帕特h方法(静态方法卡塔尔国

    有个别平台不帮衬异步张开,所以大家能够用IsAsync属性剖断是还是不是中标异步张开了。

    Delete(String,Boolean) 删除钦赐的目录,并删除该目录中的全数子目录和文书(如若表示卡塔 尔(英语:State of Qatar)。

       ChangeExtension  更正路线字符串的恢弘名。 
       Combine  归并两个路子字符串。 
       Equals   已重载。 分明七个 Object 实例是还是不是等于。 (从 Object 继承。卡塔尔国 
       GetDirectoryName  重返钦定路径字符串的目录音信。 
       GetExtension  再次来到钦点的路子字符串的恢弘名。 
       GetFileName  重返钦赐路径字符串的文本名和强大名。 
       GetFileNameWithoutExtension  再次来到不享有扩充名的钦命路径字符串的文本名。 
       GetFullPath  重返钦点路径字符串的相对路线。 
       GetInvalidFileNameChars  获取包含不允许在文书名中应用的字符的数组。 
       GetInvalidPathChars  获取满含不容许在路子名中央银行使的字符的数组。 
       GetPathRoot  获取内定路径的根目录信息。 
       GetRandomFileName  重返随机文件夹名或文件名。 
       GetTempFileName  创制磁盘上独一命名的零字节的有的时候文件并回到该文件的总体路线。 
       GetTemp帕特h  重返当前系统的有时文件夹的门径。  
       HasExtension  分明路线是还是不是满含文件扩充名。 
       IsPathRooted  获取二个值,该值提示钦赐的路径字符串是带有相对路线音信可能含有相对路线音讯。 

    从.NET Framework 4.5早前帮衬用CopyToAsync,ReadAsync,WriteAsync,FlushAsync来进行异步读写。

    Exists(String) 明确给定路线是不是引用磁盘上的存活目录。

     

    .NET Framework 4.5事先用BeginRead,BeginWrite,EndRead,EndWrite函数来展开异步读写。

    GetAccessControl(String) 获取 DirectorySecurity 对象,该对象封装钦赐目录的访谈调整列表 (ACL) 项。

    七、StreamWriter方法

    三.用StreamReader读文件
    StreamReader继承自TextReader
    1.创建StreamReader
    a.使用File.OpenText函数以UTF-8编码展开并赶回StreamReader对象
    b.用Stream创建StreamReader对象,这种成立方法让大家能方便人民群众的读取别的的Stream对象。
    c.用文件路线创制StreamReader对象

    GetAccessControl(String,AccessControlSections) 获取叁个DirectorySecurity 对象,它包裹内定目录的钦定项指标访谈调节列表 (ACL) 条约。

     Close 关闭当前的 StreamWriter 对象和功底流。 (重写 TextWriter..::.Close()()()。卡塔尔国 
     Dispose 已重载。  
     Finalize 已重载。 
     Flush 清理当前编写器的具有缓冲区,并使全数缓冲数据写入功底流。 (重写 TextWriter..::.Flush()()()。卡塔 尔(阿拉伯语:قطر‎ 
     Write 已重载。 写入流。
     WriteLine 已重载。 

    2.读操作
    Read():读八个字符。
    Read(Char[], Int32, Int32):从当前流中校钦点的最几个字符读到钦定索引地点上马的缓冲区。
    ReadBlock:Read的block版本
    ReadLine:读取生机勃勃行字符
    ReadToEnd:读全数字符

    SetAccessControl(String,DirectorySecurity) 将 DirectorySecurity 对象描述的访谈调整列表 (ACL) 项应用于钦赐的目录。

     

    3.预读
    在文本管理中平时希望预先掌握下边要读的剧情,StreamReader提供了七个很有用的函数
    EndOfStream剖断是还是不是是文件尾
    Peek重临下贰个字符,可是不校正方今职责,若无要读取的字符或该流不补协助调查找,则为-1

    GetCreationTime(String) 获取目录的开创日期和时间。

    八、FileStream方法

    4.定位
    用BaseStream再次回到基本流来开展固定
    不过假如已经进展了读取操作,内部缓冲区和BaseStream的任务不同,这个时候急需用DiscardBufferedData函数来令双方如出生机勃勃辙后再进行固定。
    reader.DiscardBufferedData();
    reader.BaseStream.Location = 8;

    SetCreation提姆e(String,DateTime) 为钦赐的文件或目录设置创设日期和岁月。

     BeginRead 已重载。 
     BeginWrite 已重载。 
     Close 已重载。 
     Dispose 已重载。 
     EndRead 已重载。 
     EndWrite 已重载。 
     Finalize 确认保障垃圾回笼器回笼 FileStream 时释放能源并试行别的清理操作。 (重写 Object..::.Finalize()()()。卡塔尔国
     Flush 灭绝该流的全数缓冲区会使得全部缓冲的数量都将写入到文件系统。 (重写 Stream..::.Flush()()()。卡塔尔
     GetAccessControl 获取 FileSecurity 对象,该对象封装当前 FileStream 对象所描述的文书的访谈调整列表 (ACL) 项。
     Lock 允许读取访谈的还要幸免其余进度改正 FileStream。
     Read 从流中读取字节块并将该数额写入给定缓冲区中。 (重写 Stream..::.Read(array<Byte>[]()[], Int32, Int32)。)
     ReadByte 从文件中读取二个字节,并将读取地方升高一个字节。 (重写 Stream..::.ReadByte()()()。卡塔 尔(阿拉伯语:قطر‎
     Seek 将该流的当下地方设置为给定值。 (重写 Stream..::.Seek(Int64, SeekOrigin)。卡塔 尔(英语:State of Qatar)
     SetLength 将该流的尺寸设置为给定值。 (重写 Stream..::.SetLength(Int64)。卡塔 尔(英语:State of Qatar)
     ToString 重回表示近些日子 Object 的 String。 (世袭自 Object。卡塔尔
     Unlock 允许任何进度访谈以前锁定的某部文件的全体或局地。
     Write 使用从缓冲区读取的多寡将字节块写入该流。 (重写 Stream..::.Write(array<Byte>[]()[], Int32, Int32)。)
     WriteByte 将一个字节写入文件流的近些日子地点。 (重写 Stream..::.WriteByte(Byte)。卡塔尔国

    5.异步读
    从.NET Framework 4.5发端帮助用ReadAsync,ReadBlockAsync,ReadLineAsync,ReadToEndAsync来开展异步读。

    GetCurrentDirectory() 获取应用程序的当前专业目录。

     

    四.用StreamWriter写文件
    1.创建StreamWriter
    a.使用File.AppendText函数以UTF-8编码展开并赶回StreamWriter对象
    b.使用File.CreateText函数以UTF-8编码张开并赶回StreamWriter对象
    c.用Stream创制StreamWriter对象,这种成立方法让我们能有助于的写入其余的Stream对象。
    d.用文件路径创建StreamWriter对象

    SetCurrentDirectory(String) 将应用程序的当前工作目录设置为内定的目录。

    九、DriveInfo&DriveType

    2.写操作
    a.扶持用Write和WriteLine函数直接写入Boolean,Decimal,Double,Int32,Int64,UInt32,UInt64,Single,Char,Object,Char[],String等数据
    b.帮衬用Write和WriteLine函数格式化写内容,格式化参见
    c.写入后用Flush函数肃清该流的兼具缓冲区,并使得全部缓冲数据被写入到根基设备。假设将AutoFlush属性设为true,则能活动Flush

    GetDirectories(String) 重回钦定目录中的子目录的称谓(富含其路线卡塔尔国。

        GetDrives  检索Computer上的有着逻辑驱动器的驱动器名称。 
        GetHashCode   用作一定项目标哈希函数。GetHashCode 相符在哈希算法和数据结构(如哈希表卡塔尔中利用。 (从 Object 世袭。卡塔 尔(阿拉伯语:قطر‎  
        ToString  已重写。 将驱动器名称作为字符串重返。 
     CDRom 此驱动器是八个光盘设备,如 CD 或 VCD-ROM。 
     Fixed 此驱动器是二个一定磁盘。 
     Network 此驱动器是八个网络驱动器。 
     NoRootDirectory 此驱动器没有根目录。 
     Ram 此驱动器是叁个 RAM 磁盘。 
     Removable 此驱动器是三个可活动存款和储蓄设备,如软盘驱动器或 USB 闪存驱动器。 
     Unknown 驱动器类型未知。 

    3.定义行结束符
    我们得以用NewLine属性来定义本人想要的行停止符

    GetDirectories(String,String) 再次来到钦赐目录中与钦定的查找方式相配的子目录的称呼(满含其路线卡塔 尔(英语:State of Qatar)。

     

    4.异步写
    从.NET Framework 4.5从头帮衬用WriteAsync,WriteLineAsync来拓宽异步写。

    GetDirectories(String,String,SearchOption) 重返与在钦定目录中的钦点找寻格局相称的子目录的名目(满含其路线卡塔 尔(英语:State of Qatar),还足以选取地寻觅子目录。

    IO操作最终介绍八个压缩算法:

    GetDirectoryRoot(String) 再次来到钦点路径的卷消息、根消息或双方同有的时候间重返。

    DeflateStream

    GetFiles(String) 重返钦定目录中文件的名目(包蕴其路线卡塔 尔(阿拉伯语:قطر‎。

    using System;
    using System.IO;
    using System.IO.Compression;
    
    public class DeflateTest
    {
        public static int ReadAllBytesFromStream(Stream stream, byte[] buffer) 
        {
        // Use this method is used to read all bytes from a stream.
        int offset = 0;
        int totalCount = 0;
            while (true) 
            {
            int bytesRead = stream.Read(buffer, offset, 100); 
                if ( bytesRead == 0) 
                {
                break; 
                }
        offset  = bytesRead;
        totalCount  = bytesRead; 
            }
        return totalCount;
        } 
    
        public static bool CompareData(byte[] buf1, int len1, byte[] buf2, int len2) 
        {
            // Use this method to compare data from two different buffers.
            if (len1 != len2) 
            { 
            Console.WriteLine("Number of bytes in two buffer are different {0}:{1}", len1, len2);
            return false;
            }
    
            for ( int i= 0; i< len1; i  ) 
            {
                if ( buf1[i] != buf2[i]) 
                {
                Console.WriteLine("byte {0} is different {1}|{2}", i, buf1[i], buf2[i]);
                return false;
                }
            }
        Console.WriteLine("All bytes compare.");
        return true; 
        }
    
        public static void DeflateCompressDecompress(string filename)
        {
        Console.WriteLine("Test compression and decompression on file {0}", filename);
        FileStream infile;
            try
            {
            // Open the file as a FileStream object.
            infile = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
            byte[] buffer = new byte[infile.Length];
            // Read the file to ensure it is readable.
            int count = infile.Read(buffer, 0, buffer.Length);
                if ( count != buffer.Length) 
                {
                infile.Close();
                Console.WriteLine("Test Failed: Unable to read data from file"); 
                return;
                }
            infile.Close();
            MemoryStream ms = new MemoryStream();
            // Use the newly created memory stream for the compressed data.
            DeflateStream compressedzipStream = new DeflateStream(ms , CompressionMode.Compress, true);
            Console.WriteLine("Compression");
            compressedzipStream.Write(buffer, 0, buffer.Length);
            // Close the stream.
            compressedzipStream.Close();
            Console.WriteLine("Original size: {0}, Compressed size: {1}", buffer.Length, ms.Length);
    
            // Reset the memory stream position to begin decompression.
            ms.Position = 0;
            DeflateStream zipStream = new DeflateStream(ms, CompressionMode.Decompress);
            Console.WriteLine("Decompression");
            byte[] decompressedBuffer = new byte[buffer.Length   100];
            // Use the ReadAllBytesFromStream to read the stream.
            int totalCount = DeflateTest.ReadAllBytesFromStream(zipStream, decompressedBuffer);
            Console.WriteLine("Decompressed {0} bytes", totalCount);
    
            if( !DeflateTest.CompareData(buffer, buffer.Length, decompressedBuffer, totalCount) ) 
            {
            Console.WriteLine("Error. The two buffers did not compare.");
            }
        zipStream.Close(); 
            } // end try
            catch (InvalidDataException)
            {
                Console.WriteLine("Error: The file being read contains invalid data.");
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("Error:The file specified was not found.");
            }
            catch (ArgumentException)
            {
                Console.WriteLine("Error: path is a zero-length string, contains only white space, or contains one or more invalid characters");
            }
            catch (PathTooLongException)
            {
                Console.WriteLine("Error: The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.");
            }
            catch (DirectoryNotFoundException)
            {
                Console.WriteLine("Error: The specified path is invalid, such as being on an unmapped drive.");
            }
            catch (IOException)
            {
                Console.WriteLine("Error: An I/O error occurred while opening the file.");
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("Error: path specified a file that is read-only, the path is a directory, or caller does not have the required permissions.");
            }
            catch (IndexOutOfRangeException)
            {
                Console.WriteLine("Error: You must provide parameters for MyGZIP.");
            }
        }
        public static void Main(string[] args)
        {
            string usageText = "Usage: DeflateTest <inputfilename>";
            //If no file name is specified, write usage text.
            if (args.Length == 0)
            {
                Console.WriteLine(usageText);
            }
            else
            {
                if (File.Exists(args[0]))
                    DeflateCompressDecompress(args[0]);
            }
        }
    }
    
    
    GZipStream
    
    using System;
    using System.IO;
    using System.IO.Compression;
    
    public class GZipTest
    {
        private const int buffer_size = 100;
    
        public static int ReadAllBytesFromStream(Stream stream, byte[] buffer)
        {
            // Use this method is used to read all bytes from a stream.
            int offset = 0;
            int totalCount = 0;
            while (true)
            {
                int bytesRead = stream.Read(buffer, offset, buffer_size);
                if (bytesRead == 0)
                {
                    break;
                }
                offset  = bytesRead;
                totalCount  = bytesRead;
            }
            return totalCount;
        }
    
        public static bool CompareData(byte[] buf1, int len1, byte[] buf2, int len2)
        {
            // Use this method to compare data from two different buffers.
            if (len1 != len2)
            {
                Console.WriteLine("Number of bytes in two buffer are different {0}:{1}", len1, len2);
                return false;
            }
    
            for (int i = 0; i < len1; i  )
            {
                if (buf1[i] != buf2[i])
                {
                    Console.WriteLine("byte {0} is different {1}|{2}", i, buf1[i], buf2[i]);
                    return false;
                }
            }
            Console.WriteLine("All bytes compare.");
            return true;
        }
    
        public static void GZipCompressDecompress(string filename)
        {
            Console.WriteLine("Test compression and decompression on file {0}", filename);
            FileStream infile;
            try
            {
                // Open the file as a FileStream object.
                infile = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
                byte[] buffer = new byte[infile.Length];
                // Read the file to ensure it is readable.
                int count = infile.Read(buffer, 0, buffer.Length);
                if (count != buffer.Length)
                {
                    infile.Close();
                    Console.WriteLine("Test Failed: Unable to read data from file");
                    return;
                }
                infile.Close();
                MemoryStream ms = new MemoryStream();
                // Use the newly created memory stream for the compressed data.
                GZipStream compressedzipStream = new GZipStream(ms, CompressionMode.Compress, true);
                Console.WriteLine("Compression");
                compressedzipStream.Write(buffer, 0, buffer.Length);
                // Close the stream.
                compressedzipStream.Close();
                Console.WriteLine("Original size: {0}, Compressed size: {1}", buffer.Length, ms.Length);
    
                // Reset the memory stream position to begin decompression.
                ms.Position = 0;
                GZipStream zipStream = new GZipStream(ms, CompressionMode.Decompress);
                Console.WriteLine("Decompression");
                byte[] decompressedBuffer = new byte[buffer.Length   buffer_size];
                // Use the ReadAllBytesFromStream to read the stream.
                int totalCount = GZipTest.ReadAllBytesFromStream(zipStream, decompressedBuffer);
                Console.WriteLine("Decompressed {0} bytes", totalCount);
    
                if (!GZipTest.CompareData(buffer, buffer.Length, decompressedBuffer, totalCount))
                {
                    Console.WriteLine("Error. The two buffers did not compare.");
                }
                zipStream.Close();
            } // end try
            catch (InvalidDataException)
            {
                Console.WriteLine("Error: The file being read contains invalid data.");
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("Error:The file specified was not found.");
            }
            catch (ArgumentException)
            {
                Console.WriteLine("Error: path is a zero-length string, contains only white space, or contains one or more invalid characters");
            }
            catch (PathTooLongException)
            {
                Console.WriteLine("Error: The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.");
            }
            catch (DirectoryNotFoundException)
            {
                Console.WriteLine("Error: The specified path is invalid, such as being on an unmapped drive.");
            }
            catch (IOException)
            {
                Console.WriteLine("Error: An I/O error occurred while opening the file.");
            }
            catch (UnauthorizedAccessException)
            {
                Console.WriteLine("Error: path specified a file that is read-only, the path is a directory, or caller does not have the required permissions.");
            }
            catch (IndexOutOfRangeException)
            {
                Console.WriteLine("Error: You must provide parameters for MyGZIP.");
            }
        }
    
        public static void Main(string[] args)
        {
            string usageText = "Usage: MYGZIP <inputfilename>";
            //If no file name is specified, write usage text.
            if (args.Length == 0)
            {
                Console.WriteLine(usageText);
            }
            else
            {
                if (File.Exists(args[0]))
                    GZipCompressDecompress(args[0]);
            }
        }
    }
    

    GetFiles(String,String) 重临内定目录中与内定的物色情势相称的公文的名称(包蕴其路线卡塔 尔(英语:State of Qatar)。

    GetFiles(String,String,SearchOption) 再次回到内定目录中与钦命的寻觅情势相配的文书的称谓(包涵其路线卡塔尔国,使用某些值分明是或不是要寻觅子目录。

    GetFileSystemEntries(String) 重临钦定路径中的全部文件和子目录的称谓。

    GetFileSystemEntries(String,String) 再次回到与钦点路径中搜索格局相称的公文名和目录名的数组。

    GetFileSystemEntries(String,String,SearchOption) 再次来到内定路径中与寻觅情势相配的有所文件名和目录名的数组,还足以搜索子目录。

    GetLastAccessTime(String) 重临上次拜望钦赐文件或目录的日期和时间。

    SetLastAccessTime(String,Date提姆e) 设置上次访谈钦点文件或目录的日期和岁月。

    GetLastWriteTime(String) 重返上次写入钦赐文件或目录的日期和岁月。

    SetLastWrite提姆e(String,DateTime) 设置上次写入目录的日期和时间。

    GetLogicalDrives() 检索此Computer上格式为 "<drive letter>:" 的逻辑驱动器的名号。

    GetParent(String) 检索钦定路径的父目录,包含相对路线和相对路线。

     

    ===============以下不经常用====================

    SetLastAccessTimeUtc(String,Date提姆e) 设置上次访问钦赐文件或目录的日子和岁月,其格式为和煦通用时 (UTC)。

    SetLastWriteTimeUtc(String,DateTime) 设置上次写入有些目录的日期和时间,其格式为和睦通用时 (UTC)。

    GetCreationTimeUtc(String) 获取目录成立的日子和岁月,其格式为协调通用时 (UTC)。

    EnumerateDirectories(String) 重返钦点路径中的目录名的可枚举群集。

    EnumerateDirectories(String,String) 重临内定路线中与追寻格局相配的目录名的可枚举集结。

    EnumerateDirectories(String,String,SearchOption) 重回钦点路径中与追寻格局相称的目录名称的可枚举集合,还是可以够寻觅子目录。

    EnumerateFiles(String) 再次来到钦赐路径中的文件名的可枚举集结。

    EnumerateFiles(String,String) 重返钦命路径中与寻觅形式相称的文件名称的可枚举会集。

    EnumerateFiles(String,String,SearchOption) 重临内定路径中与寻觅方式相配的文件名称的可枚举集合,还足以搜索子目录。

    EnumerateFileSystemEntries(String) 重临内定路径中的文件名和目录名的可枚举集合。

    EnumerateFileSystemEntries(String,String) 再次回到钦点路径中与追寻情势匹配的公文名和目录名的可枚举集结。

    EnumerateFileSystemEntries(String,String,SearchOption) 再次来到钦点路径中与搜索情势匹配的文件名称和目录名的可枚举集结,还足以寻觅子目录。

    GetLastWriteTimeUtc(String) 再次回到上次写入钦定文件或目录的日期和时间,其格式为和谐通用时 (UTC)。

    GetLastAccessTimeUtc(String) 重返上次作客内定文件或目录的日子和时间,其格式为和煦通用时 (UTC)。

    SetCreationTimeUtc(String,DateTime) 设置钦赐文件或目录的创制日期和岁月,其格式为和谐通用时 (UTC)。

    • File类 以下从msdn里面复制的诀窍

    AppendAllLines(String,IEnumerable<String>) 向三个文书中加实行,然后停业该文件。 假如钦命文件不设有,此方法会创立二个文件,向在那之中写入钦赐的行,然后停业该公文。
    AppendAllLines(String,IEnumerable<String>,Encoding) 使用钦赐的编码向叁个文本中加举行,然后停业该文件。 假诺钦定文件不设有,此方法会创制八个文书,向里面写入指定的行,然后倒闭该文件。
    AppendAllText(String,String) 张开贰个文本,向个中增添钦定的字符串,然后关门该公文。 借使文件官样文章,此措施将创制一个文书,将钦定的字符串写入文件,然后关门该文件。

    AppendAllText(String,String,Encoding) 将钦命的字符串追加到文件中,即使文件还不设有则创设该公文。
    AppendText(String) 创立四个 StreamWriter,它将 UTF-8 编码文本追加到存活文件或新文件(假如钦点文件不设有卡塔 尔(英语:State of Qatar)。

    Copy(String,String) 将现存文件复制到新文件。 不容许覆盖同名的文件。
    Copy(String,String,Boolean) 将长存文件复制到新文件。 允许覆盖同名的文书。

    Create(String) 在钦点路径中开创或覆盖文件。
    Create(String,Int32) 创立或掩没钦定的公文。
    Create(String,Int32,FileOptions) 创制或掩没内定的文件,钦命缓冲区大小和叁个陈说如何创建或掩盖该公文的 FileOptions 值。
    Create(String,Int32,FileOptions,FileSecurity) 成立或掩瞒全体钦赐的缓冲区大小、文件选项和文书安全性的钦赐文件。
    CreateText(String) 创制或张开用于写入 UTF-8 编码文本的文件。

    Decrypt(String) 使用 Encrypt 方法解密由近年来帐户加密的公文。
    Delete(String) 删除钦命的文本。
    Encrypt(String) 将某些文件加密,使得独有加密该文件的帐户技巧将其解密。
    Exists(String) 鲜明钦定的文书是不是留存。

    GetAccessControl(String) 获取多少个 FileSecurity 对象,它包裹钦命文件的访问调节列表 (ACL) 条约。
    GetAccessControl(String,AccessControlSections) 获取贰个 FileSecurity 对象,封装特定文件的钦定项指标访谈调整列表 (ACL) 项。
    GetAttributes(String) 获取在这里路线上的文本的 FileAttributes。
    GetCreationTime(String) 重回钦赐文件或目录的创设日期和时间。
    GetCreationTimeUtc(String) 再次回到钦定的公文或目录的始建日期及时间,其格式为和煦通用时 (UTC)。
    GetLastAccessTime(String) 重临上次访问钦赐文件或目录的日子和岁月。
    GetLastAccess提姆eUtc(String) 再次回到上次作客钦点的文书或目录的日期及时间,其格式为和睦通用时 (UTC)。
    GetLastWriteTime(String) 再次回到上次写入钦点文件或目录的日子和岁月。
    GetLastWriteTimeUtc(String) 重返上次写入钦命的公文或目录的日子和岁月,其格式为和煦通用时 (UTC)。

    Move(String,String) 将内定文件移到新岗位,提供要钦定新文件名的选项。
    Open(String,FileMode) 以读/写访谈权限张开钦赐路径上的 FileStream。
    Open(String,FileMode,FileAccess) 以内定的形式和访谈权限展开内定路线上的 FileStream。
    Open(String,FileMode,FileAccess,FileShare) 张开钦定路径上的 FileStream,具备带读、写或读/写访问的钦赐格局和点名的分享选项。
    OpenRead(String) 张开现存文件以开展读取。
    OpenText(String) 打开现成 UTF-8 编码文本文件以开展读取。
    OpenWrite(String) 展开叁个存世文件或创立三个新文件以实行写入。

    ReadAllBytes(String) 展开一个二进制文件,将文件的剧情读入一个字节数组,然后关门该公文。
    ReadAllLines(String) 展开一个文件文件,读取文件的装有行,然后停业该公文。
    ReadAllLines(String,Encoding) 打开三个文件,使用钦点的编码读取文件的享有行,然后停业该文件。
    ReadAllText(String) 展开三个文本文件,读取文件的有着行,然后关门该公文。
    ReadAllText(String,Encoding) 张开叁个文书,使用钦命的编码读取文件的全部行,然后关门该公文。
    ReadLines(String) 读取文件的行。
    ReadLines(String,Encoding) 读取具有钦点编码的文书的行。

    Replace(String,String,String) 使用此外文件的原委替换钦命文件的从头到尾的经过,那黄金时代历程将去除原始文本,并创制被替换文件的备份。
    Replace(String,String,String,Boolean) 用其余文件的内容替换内定文件的内容,那大器晚成经过将去除原始文件,并创立被沟通文件的备份,还足以忽视归拢错误。
    SetAccessControl(String,FileSecurity) 将 FileSecurity 对象描述的访谈调节列表 (ACL) 项应用于钦定的文书。
    SetAttributes(String,FileAttributes) 获取钦定路径上的文件的钦命FileAttributes。
    SetCreationTime(String,DateTime) 设置创建该文件的日期和时间。
    SetLastAccessTime(String,DateTime) 设置上次做客钦点文件的日期和时间。
    SetLastWriteTime(String,DateTime) 设置上次写入钦点文件的日期和时间。

    WriteAllBytes(String,Byte[]) 创造叁个新文件,在其间写入钦赐的字节数组,然后关门该公文。 若是目的文件已存在,则覆盖该公文。
    WriteAllLines(String,IEnumerable<String>) 成立多个新文件,向里面写入四个字符串集结,然后倒闭该文件。
    WriteAllLines(String,IEnumerable<String>,Encoding) 使用内定的编码创立多个新文件,向当中写入一个字符串会集,然后关门该公文。
    WriteAllLines(String,String[]) 创立三个新文件,在此中写入钦命的字节数组,然后关门该文件。
    WriteAllLines(String,String[],Encoding) 创造一个新文件,使用钦定编码在里面写入钦命的字符串数组,然后关门该公文。
    WriteAllText(String,String) 创造三个新文件,向在那之中写入钦点的字符串,然后停业文件。 假诺指标文件已存在,则覆盖该文件。
    WriteAllText(String,String,Encoding) 创立贰个新文件,使用钦点编码向里面写入内定的字符串,然后倒闭文件。 即便目的文件已存在,则覆盖该公文。

    =============以下有的时候使用=====================

    SetCreationTimeUtc(String,DateTime) 设置文件创建的日子和岁月,其格式为和睦通用时 (UTC)。
    SetLastAccessTimeUtc(String,DateTime) 设置上次拜望钦定的文件的日期和时间,其格式为和煦通用时 (UTC)。
    SetLastWriteTimeUtc(String,DateTime) 设置上次写入内定的文书的日子和时间,其格式为和煦通用时 (UTC)。

    Path类

    ChangeExtension(String,String) 校正路线字符串的扩充名。
    Combine(String,String) 将八个字符串组合成一个渠道。
    Combine(String,String,String) 将两个字符串组合成多少个门道。
    Combine(String,String,String,String) 将八个字符串组合成一个路线。
    Combine(String[]) 将字符串数组组合成一个路径。

    GetDirectoryName(String) 重返钦点路径字符串的目录音信。
    GetExtension(String) 再次回到钦定的门路字符串的扩充名。
    GetFileName(String) 重返钦定路径字符串的文书名和扩张名。
    GetFileNameWithoutExtension(String) 重返不持有扩充名的钦点路径字符串的文书名。
    GetFullPath(String) 重返钦赐路径字符串的相对路线。
    GetInvalidFileNameChars() 获取包涵不允许在文件名中央银行使的字符的数组。
    GetInvalidPathChars() 获取包括不容许在渠道名中应用的字符的数组。
    GetPathRoot(String) 获取钦赐路径的根目录消息。
    GetRandomFileName() 重回随机文件夹名或文件名。
    GetTempFileName() 在磁盘上创设磁唯一命名的零字节的有的时候文件并再次回到该文件的完好路线。
    GetTemp帕特h() 重临当前客户的偶尔文件夹的渠道。
    HasExtension(String) 明确路线是或不是包蕴文件扩充名。
    Is帕特hRooted(String) 获取多个值,该值提示内定的不二秘技字符串是或不是带有根。

     

    • FileStream类

    BeginRead(Byte[],Int32,Int32,AsyncCallback,Object) 初叶异步读操作。 (思量选择 ReadAsync 实行沟通;请参见“备注”部分。卡塔 尔(阿拉伯语:قطر‎(覆盖 Stream.BeginRead(Byte[],Int32,Int32,AsyncCallback,Object)。)
    BeginWrite(Byte[],Int32,Int32,AsyncCallback,Object) 初步异步写操作。 (考虑使用 WriteAsync 进行交替;请参见“备注”部分。卡塔 尔(阿拉伯语:قطر‎(覆盖 Stream.BeginWrite(Byte[],Int32,Int32,AsyncCallback,Object)。)
    Close() 关闭当前流并释放与之提到的具备财富(如套接字和文书句柄卡塔 尔(阿拉伯语:قطر‎。 不直接调用此方法,而应确认保障流得以正确释放。(继承自 Stream。卡塔尔
    CopyTo(Stream) 从当下流中读取字节并将其写入到另超级中。(世襲自 Stream。卡塔 尔(阿拉伯语:قطر‎
    CopyTo(Stream,Int32) 使用钦点的缓冲区大小,从当下流中读取字节并将其写入到另一级中。(世袭自 Stream。卡塔尔国
    CopyToAsync(Stream) 从当前流中异步读取字节并将其写入到另七个流中。(世襲自 Stream。卡塔 尔(阿拉伯语:قطر‎
    CopyToAsync(Stream,Int32) 使用钦命的缓冲区大小,从当下流中异步读取字节并将其写入到另一级中。(继承自 Stream。卡塔尔国
    CopyToAsync(Stream,Int32,CancellationToken) 使用钦赐的缓冲区大小和撤回令牌,从脚下流中异步读取字节并将其写入到另叁个流中。(世襲自 Stream。卡塔 尔(阿拉伯语:قطر‎
    CreateObjRef(Type) 创建包含生成用来与远程对象通讯的代办所需的享有有关音讯的靶子。(世袭自 马尔斯halByRefObject。卡塔 尔(英语:State of Qatar)
    System_CAPS_protmethod    CreateWaitHandle() 已过时。 分配 WaitHandle 对象。(继承自 Stream。)
    Dispose() 释放由 Stream 使用的有着能源。(世襲自 Stream。卡塔尔
    System_CAPS_protmethod    Dispose(Boolean) 释放由 FileStream 占用的非托管财富,还是能其它再自由托管能源。(覆盖 Stream.Dispose(Boolean)。卡塔 尔(英语:State of Qatar)
    EndRead(IAsyncResult) 等待挂起的异步读操作完结。 (考虑使用 ReadAsync 进行交换;请参见“备注”部分。卡塔 尔(英语:State of Qatar)(覆盖 Stream.EndRead(IAsyncResult)。卡塔尔
    EndWrite(IAsyncResult) 截至异步写入操作,在 I/O 操作完结在此以前一贯阻止。 (思量选用 WriteAsync 举办替换;请参见“备注”部分。卡塔尔(覆盖 Stream.EndWrite(IAsyncResult)。卡塔尔国
    Equals(Object) 明确钦赐的对象是还是不是等于当前目的。(继承自 Object。卡塔 尔(阿拉伯语:قطر‎
    System_CAPS_protmethod    Finalize() 确定保障垃圾回笼器回笼 FileStream 时释放财富并试行别的清理操作。(覆盖 Object.Finalize()。卡塔尔国
    Flush() 驱除此流的缓冲区,使得全部缓冲数据都写入到文件中。(覆盖 Stream.Flush()。卡塔尔
    Flush(Boolean) 消弭此流的缓冲区,将具备缓冲数据都写入到文件中,况兼也杀绝全部中等文件缓冲区。
    FlushAsync() 异步清除此流的富有缓冲区并以致全数缓冲数据都写入功底设备中。(世襲自 Stream。卡塔 尔(英语:State of Qatar)
    FlushAsync(CancellationToken) 异步清理这些流的兼具缓冲区,并使具备缓冲数据写入底工设备,并且监控撤除乞求。(覆盖 Stream.FlushAsync(CancellationToken)。卡塔 尔(英语:State of Qatar)
    GetAccessControl() 获取 FileSecurity 对象,该指标封装当前 FileStream 对象所汇报的文本的访问调节列表 (ACL) 项。
    GetHashCode() 作为暗中认可哈希函数。(世袭自 Object。卡塔尔
    GetLifetime瑟维斯() 检索当前生存期的劳务对象,用于调整此实例的生存期战略。(世袭自 马尔斯halByRefObject。卡塔尔
    GetType() 获取当前实例的 Type。(世袭自 Object。卡塔尔
    InitializeLifetimeService() 获取使用生存期服务对象来决定此实例的生存期计策。(世襲自 马尔斯halByRefObject。卡塔 尔(阿拉伯语:قطر‎
    Lock(Int64,Int64) 幸免别的进度读取或写入 FileStream。
    System_CAPS_protmethod    MemberwiseClone() 创立当前 Object 的表层别本。(世袭自 Object。卡塔尔国
    System_CAPS_protmethod    MemberwiseClone(Boolean) 创设当前的表层别本马尔斯halByRefObject 对象。(世袭自 马尔斯halByRefObject。卡塔 尔(英语:State of Qatar)
    System_CAPS_protmethod    ObjectInvariant() 已不适当时候宜。 此 API 援助 付加物基本功结构,不应从代码直接运用。 提供对 Contract 的扶植。(世袭自 Stream。卡塔尔
    Read(Byte[],Int32,Int32) 从流中读取字节块并将该数额写入给定缓冲区中。(覆盖 Stream.Read(Byte[],Int32,Int32)。)
    ReadAsync(Byte[],Int32,Int32) 从近些日子流异步读取字节连串,并将流中的岗位进步读取的字节数。(世襲自 Stream。卡塔尔
    ReadAsync(Byte[],Int32,Int32,CancellationToken) 从日前流异步读取字节的队列,将流中的职分进步读取的字节数,并监视取消哀告。(覆盖 Stream.ReadAsync(Byte[],Int32,Int32,CancellationToken)。)
    ReadByte() 从文件中读取三个字节,并将读取地方进步二个字节。(覆盖 Stream.ReadByte()。卡塔 尔(阿拉伯语:قطر‎
    Seek(Int64,SeekOrigin) 将该流的一时职责设置为给定值。(覆盖 Stream.Seek(Int64,SeekOrigin)。卡塔尔国
    SetAccessControl(FileSecurity) 将 FileSecurity 对象所呈报的访谈调控列表 (ACL) 项应用于当下 FileStream 对象所描述的公文。
    SetLength(Int64) 将该流的长度设置为给定值。(覆盖 Stream.SetLength(Int64)。卡塔尔国
    ToString() 重返表示近日目的的字符串。(世襲自 Object。卡塔尔
    Unlock(Int64,Int64) 允许任何进度访谈之前锁定的某部文件的方方面面或部分。
    Write(Byte[],Int32,Int32) 将字节块写入文件流。(覆盖 Stream.Write(Byte[],Int32,Int32)。)
    WriteAsync(Byte[],Int32,Int32) 将字节体系异步写入当前流,并将流的当前职责进步写入的字节数。(世襲自 Stream。卡塔尔国
    WriteAsync(Byte[],Int32,Int32,CancellationToken) 将字节的队列异步写入当前流,将该流中的当前任务向前挪动写入的字节数,并监视废除须要。(覆盖 Stream.WriteAsync(Byte[],Int32,Int32,CancellationToken)。)
    WriteByte(Byte) 一个字节写入文件流中的当前任务。(覆盖 Stream.WriteByte(Byte)。卡塔尔

     

    • StreamWriter类

    Close() 关闭当前 StreamWriter 对象和底工流。(覆盖 TextWriter.Close()。卡塔 尔(阿拉伯语:قطر‎
    CreateObjRef(Type) 创设包涵生成用来与远程对象通讯的代理所需的富有有关音讯的对象。(世袭自 马尔斯halByRefObject。卡塔尔
    Dispose() 释放由 TextWriter 对象使用的装有财富。(继承自 TextWriter。卡塔 尔(英语:State of Qatar)
    Dispose(Boolean) 释放由 StreamWriter 占用的非托管能源,还能其余再自由托管财富。(覆盖 TextWriter.Dispose(Boolean)。卡塔尔国
    Equals(Object) 分明钦赐的目的是不是等于当前目的。(世襲自 Object。卡塔 尔(阿拉伯语:قطر‎
    Finalize() 在垃圾堆回笼将某风流倜傥对象回笼前允许该对象尝试释放财富并实施其余清理操作。(世襲自 Object。卡塔 尔(英语:State of Qatar)
    Flush() 清理当前写入器的富有缓冲区,并使具备缓冲数据写入底工流。(覆盖 TextWriter.Flush()。卡塔 尔(阿拉伯语:قطر‎
    FlushAsync() 异步毁灭此流的兼具缓冲区并变成全部缓冲数据都写入功底设备中。(覆盖 TextWriter.FlushAsync()。卡塔尔国
    GetHashCode() 作为暗中认可哈希函数。(世襲自 Object。卡塔尔
    GetLifetimeService() 检索当前生存期的服务指标,用于调控此实例的生存期计谋。(世襲自 马尔斯halByRefObject。卡塔尔
    GetType() 获取当前实例的 Type。(世袭自 Object。卡塔尔国
    InitializeLifetimeService() 获取使用生存期服务目的来支配此实例的生存期计策。(世襲自 马尔斯halByRefObject。卡塔尔国
    MemberwiseClone() 成立当前 Object 的表皮别本。(世襲自 Object。卡塔 尔(英语:State of Qatar)
    MemberwiseClone(Boolean) 制造当前的表皮别本 马尔斯halByRefObject 对象。(世袭自 马尔斯halByRefObject。卡塔尔
    ToString() 重临表示方今指标的字符串。(世襲自 Object。卡塔尔
    Write(Boolean) 将 Boolean 值的公文表示格局写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(英语:State of Qatar)
    Write(Char) 将字符写入流。(覆盖 TextWriter.Write(Char)。卡塔 尔(英语:State of Qatar)
    Write(Char[]) 将字符数组写入流。(覆盖 TextWriter.Write(Char[])。)
    Write(Char[],Int32,Int32) 将字符的子数组写入流。(覆盖 TextWriter.Write(Char[],Int32,Int32)。)
    Write(Decimal) 将十进制值的文书表示方式写入文本字符串或流。(世襲自 TextWriter。卡塔尔
    Write(Double) 将 8 字节浮点值的文本表示情势写入文本字符串或流。(世袭自 TextWriter。卡塔尔
    Write(Int32) 将 4 字节有灯号整数的公文表示情势写入文本字符串或流。(继承自 TextWriter。卡塔尔
    Write(Int64) 将 8 字节有标记整数的文件表示情势写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(阿拉伯语:قطر‎
    Write(Object) 通过在指标上调用 ToString 方法将此目的的文书表示格局写入文本字符串或流。(继承自 TextWriter。卡塔尔
    Write(Single) 将 4 字节浮点值的公文表示方式写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(英语:State of Qatar)
    Write(String) 将字符串写入流。(覆盖 TextWriter.Write(String)。卡塔尔
    Write(String,Object) 使用与 String.Format(String,Object) 方法相似的语义将格式化字符串和新行写入文本字符串或流。(世襲自 TextWriter。卡塔尔
    Write(String,Object,Object) 使用与 String.Format(String,Object,Object) 方法风华正茂致的语义将格式化字符串和新行写入文本字符串或流。(世袭自 TextWriter。卡塔尔
    Write(String,Object,Object,Object) 使用与 String.Format(String,Object,Object,Object) 方法豆蔻梢头致的语义将格式化字符串和新行写入文本字符串或流。(世袭自 TextWriter。卡塔尔
    Write(String,Object[]) 使用与 String.Format(String,Object[]) 方法形似的语义将格式化字符串和新行写入文本字符串或流。(继承自 TextWriter。卡塔尔
    Write(UInt32) 将 4 字节无符号整数的公文表示方式写入文本字符串或流。(世袭自 TextWriter。卡塔 尔(英语:State of Qatar)
    Write(UInt64) 将 8 字节无符号整数的文件表示情势写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteAsync(Char) 将字符异步写入该流。(覆盖 TextWriter.WriteAsync(Char)。卡塔 尔(阿拉伯语:قطر‎
    WriteAsync(Char[]) 以异步方式将字符数组写入到下叁个字符串或流。(继承自 TextWriter。卡塔尔
    WriteAsync(Char[],Int32,Int32) 将字符的子数组异步写入该流。(覆盖 TextWriter.WriteAsync(Char[],Int32,Int32)。)
    WriteAsync(String) 将字符串异步写入该流。(覆盖 TextWriter.WriteAsync(String)。卡塔尔
    WriteLine() 将行终止符的字符串写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(阿拉伯语:قطر‎
    WriteLine(Boolean) 将前边带有行停止符的 Boolean 值的文书表示方式写入文本字符串或流。(世襲自 TextWriter。卡塔尔国
    WriteLine(Char) 将后跟行甘休符的字符写入文本字符串或流。(世襲自 TextWriter。卡塔尔
    WriteLine(Char[]) 将后跟行甘休符的字符数组写入文本字符串或流。(世袭自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteLine(Char[],Int32,Int32) 将后跟行甘休符的字符子数组写入文本字符串或流。(世袭自 TextWriter。卡塔尔国
    WriteLine(Decimal) 将前面带有行停止符的十进制值的文本表示情势写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(阿拉伯语:قطر‎
    WriteLine(Double) 将后跟行甘休符的 8 字节浮点值的文件表示方式写入文本字符串或流。(世袭自 TextWriter。卡塔 尔(阿拉伯语:قطر‎
    WriteLine(Int32) 将后跟行甘休符的 4 字节有标记整数的文书表示形式写入文本字符串或流。(世襲自 TextWriter。卡塔尔
    WriteLine(Int64) 将后跟行停止符的 8 字节有号子整数的公文表示格局写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteLine(Object) 通过在目的上调用 ToString 方法将后跟行甘休符的此目的的文书表示格局写入文本字符串或流。(世袭自 TextWriter。卡塔尔
    WriteLine(Single) 将后跟行截止符的 4 字节浮点值的文本表示形式写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteLine(String) 将后跟行甘休符的字符串写入文本字符串或流。(世襲自 TextWriter。卡塔尔
    WriteLine(String,Object) 使用与 String.Format(String,Object) 方法相像的语义将格式化字符串和新行写入文本字符串或流。(世袭自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteLine(String,Object,Object) 使用与 String.Format(String,Object,Object) 方法生机勃勃致的语义将格式化字符串和新行写入文本字符串或流。(世袭自 TextWriter。卡塔尔
    WriteLine(String,Object,Object,Object) 使用与 Format 相通的语义写出格式化的字符串和叁个新行。(继承自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteLine(String,Object[]) 使用与 Format 相仿的语义写出格式化的字符串和叁个新行。(世襲自 TextWriter。卡塔 尔(阿拉伯语:قطر‎
    WriteLine(UInt32) 将后跟行甘休符的 4 字节无符号整数的公文表示情势写入文本字符串或流。(世袭自 TextWriter。卡塔尔国
    WriteLine(UInt64) 将后跟行甘休符的 8 字节无符号整数的文件表示格局写入文本字符串或流。(世襲自 TextWriter。卡塔 尔(阿拉伯语:قطر‎
    WriteLineAsync() 将行终止符异步写入该流。(覆盖 TextWriter.WriteLineAsync()。卡塔 尔(英语:State of Qatar)
    WriteLineAsync(Char) 将后跟行终止符的字符异步写入该流。(覆盖 TextWriter.WriteLineAsync(Char)。卡塔尔
    WriteLineAsync(Char[]) 将后跟行甘休符的字符数组异步写入文本字符串或流。(继承自 TextWriter。卡塔 尔(英语:State of Qatar)
    WriteLineAsync(Char[],Int32,Int32) 将后跟行终止符的字符的子数组异步写入该流。(覆盖 TextWriter.WriteLineAsync(Char[],Int32,Int32)。)
    WriteLineAsync(String) 将后跟行终止符的字符串异步写入该流。(覆盖 TextWriter.WriteLineAsync(String)。卡塔尔

     

     

     

    • StreamReader类

    Close() 关闭 StreamReader 对象和底蕴流,并释放与读取器关联的享有系统财富。(覆盖 TextReader.Close()。卡塔尔国
    CreateObjRef(Type) 成立满含生成用来与长途对象通讯的代理所需的装有相关音讯的指标。(世袭自 马尔斯halByRefObject。卡塔 尔(英语:State of Qatar)
    DiscardBufferedData() 消逝内部缓冲区。
    Dispose() 释放由 TextReader 对象使用的富有能源。(世襲自 TextReader。卡塔 尔(阿拉伯语:قطر‎
    Dispose(Boolean) 关闭底蕴流,释放 StreamReader 使用的未托管财富,相同的时间还足以凭仗需求自由托管财富。(覆盖 TextReader.Dispose(Boolean)。卡塔 尔(阿拉伯语:قطر‎
    Equals(Object) 鲜明钦赐的对象是否等于当前目标。(世襲自 Object。卡塔尔国
    Finalize() 在垃圾堆回笼将某大器晚成对象回收前允许该目的尝试释放财富并施行其余清理操作。(世襲自 Object。卡塔 尔(英语:State of Qatar)
    GetHashCode() 作为默许哈希函数。(继承自 Object。卡塔 尔(阿拉伯语:قطر‎
    GetLifetimeService() 检索当前生存期的劳务目的,用于调节此实例的生存期攻略。(世襲自 马尔斯halByRefObject。卡塔 尔(阿拉伯语:قطر‎
    GetType() 获取当前实例的 Type。(世襲自 Object。卡塔 尔(英语:State of Qatar)
    InitializeLifetimeService() 获取使用生存期服务目的来决定此实例的生存期战略。(世袭自 马尔斯halByRefObject。卡塔 尔(英语:State of Qatar)
    MemberwiseClone() 创造当前 Object 的外面别本。(世襲自 Object。卡塔尔
    MemberwiseClone(Boolean) 创立当前的外面别本 MarshalByRefObject 对象。(世袭自 马尔斯halByRefObject。卡塔尔
    Peek() 再次回到下叁个可用字符,但不应用它。(覆盖 Text里德r.Peek()。卡塔尔国
    Read() 读取输入流中的下二个字符并使该字符地方进步八个字符。(覆盖 TextReader.Read()。卡塔尔国
    Read(Char[],Int32,Int32) 从钦定的目录地点上马现在自当前流的内定的最多字符读到缓冲区。(覆盖 TextReader.Read(Char[],Int32,Int32)。)
    ReadAsync(Char[],Int32,Int32) 自一时流中异步读取内定的最大字符,並且从钦定的目录地点上马将该数据写入缓冲区。(覆盖 TextReader.ReadAsync(Char[],Int32,Int32)。)
    ReadBlock(Char[],Int32,Int32) 从如今流中读取钦命的最大字符数并从钦定的目录地方上马将该多少写入缓冲区。(覆盖 TextReader.ReadBlock(Char[],Int32,Int32)。)
    ReadBlockAsync(Char[],Int32,Int32) 从眼下流中异步读取内定的最大字符,而且从内定的目录地方上马将该数额写入缓冲区。(覆盖 TextReader.ReadBlockAsync(Char[],Int32,Int32)。)
    ReadLine() 从眼下流中读取风度翩翩行字符并将数据作为字符串重返。(覆盖 TextReader.ReadLine()。卡塔 尔(英语:State of Qatar)
    ReadLineAsync() 从方今流中异步读取生机勃勃行字符并将数据作为字符串重回。(覆盖 TextReader.ReadLineAsync()。卡塔 尔(阿拉伯语:قطر‎
    ReadToEnd() 读取来自流的近些日子地方到结尾的具备字符。(覆盖 TextReader.ReadToEnd()。卡塔尔
    ReadToEndAsync() 异步读取来自流的一时一刻职责到末了的富有字符并将它们充任叁个字符串再次回到。(覆盖 TextReader.ReadToEndAsync()。卡塔尔
    ToString() 重返表示最近目的的字符串。(世袭自 Object。卡塔 尔(阿拉伯语:قطر‎

    本文由新葡亰496net发布于奥门新萄京娱乐场,转载请注明出处:文本操作,读写文件

    关键词: