黑马程序员技术交流社区

标题: 文件流的问题 [打印本页]

作者: 梦里不知身是客    时间: 2014-7-24 09:13
标题: 文件流的问题
本帖最后由 梦里不知身是客 于 2014-7-25 22:46 编辑

我们用文件流可以读取和写入大的文件,读取的时候一般会建立缓冲区,但输入的时候为什么就不建立缓存区了,两个缓存区不能同时存在吗?求解
作者: 许庭洲    时间: 2014-7-24 09:46
1. 在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”,装满后再从内存“缓冲区”依此读入接收的变量。
2. 执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。
3. 内存“缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。
4. 一般来说,文件“缓冲区”的大小随机器而定。
5. 缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针来对文件进行访问,既可以读写字符、字符串、格式化数据,也可以读写二进制数据。
6. 非缓冲文件系统依赖于操作系统,通过操作系统的功能对文件进行读写,是系统级的输入输出,它不设文件结构体指针,只能读写二进制文件,但效率高、速度快,由于ANSI标准不再包括非缓冲文件系统。


作者: 梦里不知身是客    时间: 2014-7-24 13:24
许庭洲 发表于 2014-7-24 09:46
1. 在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入 ...

真是太详细了     又学到不少新知识    谢谢  大神。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2