I/O Streams

  • I/O 流*表示 Importing 源或输出 Object 地。流可以表示许多不同种类的源和目标,包括磁盘文件,设备,其他程序和内存阵列。

流支持许多不同种类的数据,包括简单字节,原始数据类型,本地化字符和对象。有些流只是传递数据。其他人则以有用的方式操纵和转换数据。

无论它们在内部如何工作,所有流都向使用它们的程序提供相同的简单模型:流是数据序列。程序使用 Importing 流从源中一次读取一项数据:

将信息读入程序。

将信息读入程序。

程序使用输出流将数据写入 Object 地,一次写入一项:

从程序编写信息。

从程序编写信息。

在本类中,我们将看到可以处理各种数据的流,从原始值到高级对象。

上图所示的数据源和数据目标可以是保存,生成或使用数据的任何数据。显然,这包括磁盘文件,但是源或目标也可以是另一个程序,外围设备,网络套接字或阵列。

在下一节中,我们将使用最基本的流(字节流)来演示 Stream I/O 的常见操作。对于示例 Importing,我们将使用示例文件xanadu.txt,其中包含以下经文:

In Xanadu did Kubla Khan
A stately pleasure-dome decree:
Where Alph, the sacred river, ran
Through caverns measureless to man
Down to a sunless sea.