zoukankan      html  css  js  c++  java
  • FileStream对象的使用

    FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReaderStreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行,稍后对此进行介绍。

    还有几种方法可以创建FileStream对象。构造函数具有许多不同的重载版本,最简单的构造函数仅仅带有两个参数,即文件名和FileMode枚举值。

    FileStream fs = new FileStream(filename, FileMode.Member);

    FileMode枚举有几个成员,规定了如何打开或创建文件。稍后介绍这些枚举成员。另一个常用的构造函数如下

    FileStream fs = new FileStream(filename, FileMode.Member, FileAccess. Member);

    第三个参数是FileAccess枚举的一个成员,它指定了流的作用。FileAccess枚举的成员如下所示。

    Read 打开文件,用于只读

    Write 打开文件,用于只写

    ReadWrite:打开文件,用于读写

    对文件进行不是FileAccess枚举成员指定的操作会导致抛出异常。此属性的作用是,基于用户的身份验证级别改变用户对文件的访问权限。在FileStream构造函数不使用FileAccess枚举参数的版本中,使用默认值FileAccess. ReadWrite

    FileMode枚举成员如下所示。使用每个值会发生什么,取决于指定的文件名是否表示已有的文件。注意这个表中的项表示创建流时该流指向文件中的位置,下一节将详细讨论这个主题。除非特别说明,否则流就指向文件的开头。

    Append 打开文件,流指向文件的末尾,只能与枚举FileAccess.Write联合使用。若文件不存在,则创建一个新文件。只能与枚举FileAccess.Write联合使用。

    Create:若文件存在,则删除该文件,然后创建新文件。

    CreateNew:若文件存在,则抛出异常;若文件不存在,则创建新文件。

    Open:打开现有的文件,流指向文件的开头;若文件不存在,则抛出异常。

    OpenOrCreate 打开文件,流指向文件的开头;若文件不存在,则创建新文件。

    Truncate:打开现有文件,清除其内容。流指向文件的开头,保留文件的初始创建日期;若文件不存在,则抛出异常。

      FileFileInfo类都提供了OpenRead()OpenWrite()方法,更易于创建FileStream对象。前者打开了只读访问的文件,后者只允许写入文件。这些都提供了快捷方式,因此不必以FileStream构造函数的参数形式提供前面所有的信息。例如,下面的代码行打开了用于只读访问的Data.txt文件:FileStream fs = File.OpenRead("Data.txt");

    注意下面的代码执行同样的功能:

    FileInfo fi = new FileInfo("Data.txt");

    FileStream fs = fi.OpenRead();

  • 相关阅读:
    Swift基础
    win32多线程 (六)信号量 Synchronization
    win32 多线程 (五)Event
    win32多线程 (四) Mutex
    win32多线程(三) 死锁
    win32多线程 (二)线程同步之临界区 (critical sections)
    win32多线程 (一) 线程创建与结束等待
    简单Factory模式
    单键模式
    jquery中click事件重复绑定问题
  • 原文地址:https://www.cnblogs.com/JuneZhang/p/2111091.html
Copyright © 2011-2022 走看看