java 流
http://www.iteye.com/magazines/132-Java-NIO
http://liyuanning.blog.163.com/blog/static/457322862010102321121/
http://kingkongzhao.blog.51cto.com/6319491/1672929/
http://www.ibm.com/developerworks/cn/java/j-lo-javaio/
http://blog.csdn.net/hansnowqiang/article/details/50130437
http://blog.csdn.net/yuebinghaoyuan/article/details/7388059
http://www.cnblogs.com/shitouer/archive/2012/12/19/2823641.html
http://blog.csdn.net/smartbetter/article/details/51323904
http://www.cnblogs.com/hqr9313/archive/2012/04/23/2467294.html
http://blog.csdn.net/hijiankang/article/details/51027565
IO总的来说分为两种,一种是流,分为字符流、字节流、位流等等,另一种是记录、数据块等等;两者的区别是,流的数据中没有同步信息、管理信息,只是单纯的数据,而记录、数据块则存在同步和管理信息。
C++的IO流属于字符流,数据在流中的内部表示是字符,不是字节或位。IO流是文本IO,不是二进制IO,但它常常因为具有文件二进制模式而被人误解为既是文本IO也是二进制IO,这是错误的,binary模式仅仅暂时性抑制了IO流中的格式化层及与操作系统相关的一些转换(例如\n),并没有改变IO流的文本IO性质,即在binary模式中的流仍然是字符流(只不过没有进行自动转换),而不是字节流。
C++的IO流分为两层:格式化层和传输层。
格式化层进行输出中的格式化及输入中的解析,例如将浮点数的内部二进制表示转换为打印字符或者从缓冲中抽取字符转换为整数的二进制内部表示等等。
传输层包括缓冲区、编码转换和传递层,缓冲区不用说,就是内部字符的缓冲啦,编码转换用于字符的内部表示和外部表示之间的转换,IO流的编码转换只支持宽字符和多字节字符集之间的转换,传递层用于与外部设备之间的连接。
C++的IO流对象默认情况下是与C的stdin、stdout、stderr连接在一起的,视具体实现不同,IO流可能使用C的缓冲区而自身没有缓冲区,也可能两者共享相同的缓冲区,这是IO流比C的输入输出函数慢的一个原因,但可以将两者解开,通过函数ios_base::sync_with_stdio( false )进行,如果参数为true,则重新连接。在某些环境下,例如g++,两者连接解开后,IO流的效率是C的输入输出函数的3倍。
java 流的更多相关文章
- 登堂入室——java流
——文章出自PeterYe,不得私自转载 我所知道的 java.io里面的[流],就仿佛太平洋里面的水一样,浩浩荡荡,横无际涯... -----2016/7/16--------公寓处记录------ ...
- Java流
流是一组有顺序的,有起点和终点的字节集合,是对传输数据的总称或抽象.即数据在两设备间的传输称为流,流的本质是传输数据,依据传输数据特性将流抽象为各种类,方便更直观的进行数据操作. 流的分类: 数据类型 ...
- Java笔记:Java 流(Stream)、文件(File)和IO
更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...
- java 流输出的一些问题
一.java流的控制首先要先准备一个文件,例如:File f = new File(d:/lol.txt); 二.可以使用如下指令创建流,用于不同的用途 1.FileInputStream,FileO ...
- JAVA流式布局管理器--JAVA基础
JAVA流式布局管理器的使用: FlowLayoutDeme.java: import java.awt.*;import javax.swing.*;public class FlowLayoutD ...
- Java - 17 Java 流(Stream)、文件(File)和IO
Java 流(Stream).文件(File)和IO Java.io包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io包中的流支持很多种格式,比如:基本类型. ...
- Java总结:Java 流(Stream)、文件(File)和IO
更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...
- java 流 文件 IO
Java 流(Stream).文件(File)和IO Java.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类 ...
- 使用Socket&反射&Java流操作进行方法的远程调用(模拟RPC远程调用)
写在前面 阅读本文首先得具备基本的Socket.反射.Java流操作的基本API使用知识:否则本文你可能看不懂... 服务端的端口监听 进行远程调用,那就必须得有客户端和服务端.服务端负责提供服务,客 ...
- 深入理解Java流机制(一)
一.前言 C语言本身没有输入输出语句,而是调用"stdio.h"库中的输入输出函数来实现.同样,C++语言本身也没有输入输出,不过有别于C语言,C++有一个面向对象的I/O流类库& ...
随机推荐
- web应用性能测试-Tomcat 7 连接数和线程数配置
转自:http://www.jianshu.com/p/8445645b3aff 引言 这段时间折腾了哈java web应用的压力测试,部署容器是tomcat 7.期间学到了蛮多散碎的知识点,及时梳理 ...
- crossplatform---bower解决js的依赖管理
从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏 ...
- spring 配置定时任务
spring的定时任务配置分为三个步骤:1.定义任务2.任务执行策略配置3.启动任务1.定义任务 <!--要定时执行的方法--> <bean id="testTaskJob ...
- Struts2入门3 深入学习
Struts2入门3 深入学习 处理结果和异常 前言: Struts学习的差不多了,还有最后的一点就收官了就是结果处理和异常处理.前面学习Struts主要围绕就是Action以及struts.xml配 ...
- 在VC项目中附加包含目录
1.VC2010项目中附加包含目录 上图项目中附加了两个文件夹,一个是上级目录下的CommonClass,一个是下级目录下的invengo. 使用这两个目录下的类时直接在include后面写头文件名即 ...
- use IFS in bash
function dfd() { #http://www.cnblogs.com/hunterfu/archive/2010/02/23/1672129.html IFS=$'\n' for i in ...
- nodejs学习之表单提交(1)
nodejs作为一门后端语言,接触的最多的是它的框架,但是它本身的api我觉得更是非学不可,所有才有了这篇文章 表单提交是最基本的也是最实用的入门实例 HTML: <!DOCTYPE html& ...
- 【转】Android布局优化之ViewStub
ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View.虽然Android开发人员基本上都听说过,但是真正用的可能不多. ViewStub可以理解成一个非常轻量级的Vie ...
- Android 源码获取-----在Windows环境下通过Git得到Android源代码
在学习Android的过程中,深入其源代码研究对我们来说是非常重要的,这里将介绍如何通过在Windows环境下使用Git来得到我们的Android源代码. 1.首先确保你电脑上安装了Git,这个通过 ...
- runtime MethodSwizzle 实践之 奇怪crash : [UIKeyboardLayoutStar release]: message sent to deallocated instance
情景: 使用MethodSwizzle 实现对数组.字典 等系统方法的安全校验.显然能达到预期效果,但实际发现当 键盘显示的情况下 home app 进入后台,再单击app 图标 切换回前台时 发 ...