zoukankan      html  css  js  c++  java
  • C#流概述

    C#流概述

    .NET Framework使用“流”来支持读取或写入文件。可以将流视为一组连续的一维数据,包含开头和结尾,并且其中的游标指示了流的当前位置。

    1、流操作

    流中包含的数据可能来自内存、文件或TCP/IP套接字。流包含以下几种可以用于自身的基本操作:

    l  读取:将数据从流传输到数据结构(字符串或字节数据)中。

    l  写入:将数据从数据源传输到流中。

    l  查找:查询和修改在流中的位置。

    2、流的类型

    在.NET Framework中,“流”由Stream类表示,该类构成了所有其他流的抽象基类,不能直接实例化。但是必须使用它来实现某个I/O流类。

    C#中由许多类型的流(14种派生类),但是在处理文件输入/输出时,最重要的类型为FileStream类,它提供了读取或写入文件的方式。可在处理文件输入/输出时使用的其它流主要包括:BufferedStream、CopytoStream、MemoryStream和NetworkStream等。

    3、文件I/O流FileStream介绍

    C#中,文件I/O流使用FileStream类实现,该类公开以文件为主的Stream,表示在磁盘或网络路径上指向文件的流。一个FileStream类的实例实际上表示一个磁盘文件,它通过Seek方法进行对文件的随机访问,也同时包含了流的标准输入、标准输出和标准错误等。FileStream默认对文件的打开方式是同步的,但是它同样很好地支持异步操作。

    4、使用I/O流操作文本文件

    使用I/O流操作文本文件时主要用到StreamWriter和StreamReader类。

    l  StreamWriter类:专门用来处理文本文件的类,可以方便地向文本文件写入字符串,同时它也负责重要的转换和处理向FileStream对象写入的工作。

    l  StreamReader类:专门用来读取文本文件的类。StreamReader可以从底层Stream对象创建StreamReader对象的实例,而且还能指定编码规范参数。创建StreamReader对象后,它提供了许多用于读取和浏览字符数据的方法。

    5、使用I/O流操作二进制文件

    使用I/O流操作二进制文件时主要用到BinaryWriter和BinaryReader类。

    l  BinaryWriter类:以二进制形式将基元类型写入流,并支持用特定的编码方式写入字符串。

    l  BinaryReader类:使用特定的编码将基元数据类型读作二进制值。

    文件、流读取/写入器和流之间的操作关系图:

     

  • 相关阅读:
    # codeforces 1199 D. Welfare State(思维+dp)
    # codeforces 1245 A. A. Good ol' Numbers Coloring(数学)
    # codeforces 1272 F. Two Bracket Sequences(三维dp + bfs)
    关于MySQL无法启动 ERROR 2003 (HY000)
    PAT 甲级测试题目 -- 1002 A+B for Polynomials
    PAT 甲级测试题目 -- 1001 A+B Format
    Flask 中接收 web 端 JSON 的小例子
    一些工具
    MySql的一些常见问题(Windows 和 Ubuntu 下)
    Python学习笔记
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/5077535.html
Copyright © 2011-2022 走看看