这不过是返祖罢了.正确的问题是为什么会把数据流抽象成文件. 设备-字节流-文件. 一切皆为文件,所有不同种类的类型都被抽象成文件(比如:块设备,socket套接字,pipe队列). 文件抽象为数据流一定程度上是 Unix 造成的. 传统上,计算机上用于 IO 的设备大致可以分成两大类,块(block)设备和流(stream)设备.前者可以抽象成一组数据块,读写必须数据块为单位,但一般可以指定任意一个数据块读写,典型的例子比如磁盘,以扇区为单位进行读写.后者可以抽象成一个数据流,你可以一个字节一个…