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类:使用特定的编码将基元数据类型读作二进制值。

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

时间: 2024-11-05 16:32:07

C#流概述的相关文章

黑马程序员_javaIO流概述

------- android培训.java培训.期待与您交流! ---------- 一.IO流概述 (1) IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中流按操作数据分为两种:字节流与字符流流按流向分为:输入流,输出流. (2) IO流常用基类字节流的抽象基类InputStream,OutputStream字符流的抽象基类Reader,Writer这四个类派生出的子类名称都是以其父类名作为子类名的后缀. 二.字符流 1.FileWrit

Java核心类库-IO-文件流概述和系统属性

文件流概述和系统属性 文件流(纯文本文件):程序和文件打交道. 在字节流中不要使用中文 FileInputStream:文件的字节输入流. FileOutputStream:文件的字节输出流. FileReader:文件的字符输出流. FileWriter:文件的字符输出流. FileOutputStream: FileInputStream:

黑马程序员—IO(一)流概述、字符流、字节流、流操作规律

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 第一节     IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都在IO包中. 4)流按其操作数据的类型分为两种:字节流和字符流. 5)流按其流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象基流:Inp

黑马程序员——IO流概述、字符流、字节流、流操作规律(一)

第一节     IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都在IO包中. 4)流按其操作数据的类型分为两种:字节流和字符流. 5)流按其流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象基流:InputStream和OutputStream 2)字符流的抽象基流:Reader和Writer 注:此四个

Java基础---IO(一)---IO流概述、字符流

   IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都在IO包中. 4)流按操作数据分为两种:字节流和字符流. 5)流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象基流:InputStream和OutputStream 2)字符流的抽象基流:Reader和Writer 注:此四个类派生出来的子类名称

Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律

第一讲     IO概述 概述 1.IO流:即InputOutput的缩写. 2.特点: 1)IO流用来处理设备间的数据传输. 2)Java对数据的操作是通过流的方式. 3)Java用于操作流的对象都在IO包中. 4)流按操作数据分为两种:字节流和字符流. 5)流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象基流:InputStream和OutputStream 2)字符流的抽象基流:Reader和Writer 注:此四个类派生出来

IO流概述

作用: 处理设备之间的数据传输的 I: Input(输入) , O: Output(输出) 什么是输入和输出? 我们说输入和输出问题是站在内存的角度而言 , 如果我们程序读取硬盘上的数据那么就是输入 , 如果我们程序往硬盘上写数据那么就是输出 分类 流按操作类型分为两种 字节流 字节输入流 InputStream 读 字节输出流 OutputStream 写 字符流 字符输入流 Reader 读 字符输出流 Writer 写 上面的4个流对象都是抽象类,不能直接实例化,那么需要使用其子类 IO程

Java核心类库-IO-包装流概述和缓冲流原理

处理流/包装流(相对于节点流更高级): 1. 隐藏了底层的节点流的差异,并对外提供了更方便的输入/输出功能,让我们之关心高级流操作. 2. 使用处理包装流包装了节点流程序直接操作处理流,让节点流与底层的设备做IO操作. 3. 只需要关闭处理流即可 包装流如何分区:写代码的时候,发现创建对象的时候,需要传递另一个流对象.new 包装流(流对象): 什么是缓冲流: 是一个包装流,目的起缓存作用. BufferedInputStream: BufferedOutputStream: BufferedR

java 21 - 1 IO流中的字符流概述

字节流通过读取一个byte数组的方式可以读取中文的,但是有可能出现小问题,所以,读取中文最好是用字符流. 字符流: 字符流=字节流+编码表. 编码表: 由字符及其对应的数值组成的一张表 编码表介绍: 计算机只能识别二进制数据,早期由来是电信号. 为了方便应用计算机,让它可以识别各个国家的文字. 就将各个国家的文字用数字来表示,并一一对应,形成一张表. ASCII:美国标准信息交换码. 用一个字节的7位可以表示. ISO8859-1:拉丁码表.欧洲码表 用一个字节的8位表示. GB2312:中国的