A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梦里不知身是客 中级黑马   /  2014-7-24 09:13  /  896 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 梦里不知身是客 于 2014-7-25 22:46 编辑

我们用文件流可以读取和写入大的文件,读取的时候一般会建立缓冲区,但输入的时候为什么就不建立缓存区了,两个缓存区不能同时存在吗?求解

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

2 个回复

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

评分

参与人数 1技术分 +1 收起 理由
陈君 + 1

查看全部评分

回复 使用道具 举报
许庭洲 发表于 2014-7-24 09:46
1. 在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入 ...

真是太详细了     又学到不少新知识    谢谢  大神。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马