happy in java之io流简介
闲来没事,重温马士兵老师的java基础。。。
流 水流的流 流氓的流,,流 英文叫做stream,溪流
流的分类:

流是用来读写数据的。

流就像水流一样,File类封装的是文件的名字,它是内存里头的一个对象,OK,但是真正的文件是在硬盘上的一块空间,在这文件里头,存着各种各样的数据,那么我们想读这数据怎么办呢?是这样来读,是通过一个流的方式来读。
如下图,比方说这是我们文件,咱们要想从程序读数据,大家都知道,对于计算机来说,你读任何的数据都是什么样的形式,是不是都是010101 这些形式,对吧 。

怎么样吧这些文件里边的内容个读出来,你就把这个文件想象成一个小桶。文件就是个桶,你怎么从桶里边取水呢?或者说怎么从文件里边取数据呢,常见的取法是这样的,我们弄一根管道怼到桶上,然后把这根管道,哐唧,一怼,怼到桶上边,这边打开水龙头,就开始出水,这就叫流,什么叫流,这根管道就叫流,水流哗啦哗啦哗啦流出来了,这就叫流,java里头的输入输出,跟这个水流一模一样,当你要从文件取数据的时候,一根管道咣唧怼上去,然后就顺着这根管道,你开始往外读数据。

你要往里头写数据呢?反过来,咣唧一根管道怼上去,从管道这一头开始咵唧咵唧往里头灌水。

除了你可以从文件读写数据呢,你还可以从网络,比如这根管道咵唧从我机器上怼到你机器上了,我说一句话,你那边就收着了。你说一句话我这边就收着了。OK?

有的时候一根管道不够使,比方说这根管道读过来的水,里有杂质,外边再包一层管道, 比方说你读过来的数据,最原始的数据肯定是010101,一个字节一个字节的往外读,当你这样读的时候你觉得这样的方法不合适,没关系。外边再包一层强大一点的管道,这个管道可以吧010101转换成字符串,哐当读出来,这个管道就包在了原始管道的外边, 这就是流式的输入输出,这些管道就是java的流。

流的分类:
根据不同的角度分成不同的类型,io包里头定义了所有的流。
输入流or输出流的划分:都是站在程序打的角度来说的,相对于程序来说的。
字节流or字符流:
字节流:最原始的一个流, 读出来的数据就是010101,只不过是按照字节来读的,一个字节是8位。
字符流:一个字符一个字符往外读,字符是2个字节。Java里边是Unicode字符串一个字符是2个字节。 Utf16 ok
节点流or处理流:
节点流:这根管道直接怼到数据源上的流。
处理流:套在其他管道之上的流。
凡是以Stream结尾的都是字节流,最原始的读取数据的方式,一个字节一个字节的读。


happy in java之io流简介的更多相关文章
- IO流 简介 总结 API 案例 MD
目录 IO 流 简介 关闭流的正确方式 关闭流的封装方法 InputStream 转 String 的方式 转换流 InputStreamReader OutputStreamWriter 测试代码 ...
- Java基础-IO流对象之随机访问文件(RandomAccessFile)
Java基础-IO流对象之随机访问文件(RandomAccessFile) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.RandomAccessFile简介 此类的实例支持对 ...
- Java基础-IO流对象之字符类(FileWrite与FileReader)
Java基础-IO流对象之字符类(FileWrite与FileReader) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常见编码简介 1>ASCII 我们知道计算机是 ...
- java的IO流
java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...
- Java基础——IO流
今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...
- 【Java】IO流简单分辨
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...
- Java - 文件(IO流)
Java - 文件 (IO) 流的分类: > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter ...
- Java中IO流的总结
有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...
- JAVA中IO流总结
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42119261 我想你对JAVA的IO流有所了解,平时使用的 ...
随机推荐
- PYTHON 和R的对比
为了鼓励新工具的出现,机器学习和数据分析领域似乎已经成了“开源”的天下.Python 和 R 语言都具有健全的生态系统,其中包括了很多开源工具和资源库,从而能够帮助任何水平层级的数据科学家展示其分析工 ...
- 试题 H: 人物相关性分析 第十届蓝桥杯
试题 H: 人物相关性分析时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20 分[问题描述]小明正在分析一本小说中的人物相关性.他想知道在小说中 Alice 和 Bob有多少次同时出现 ...
- EBS增加客制应用CUX:Custom Application
1. 创建数据库文件和帐号 [root@ebs12vis oracle]# su - oracle[oracle@ebs12vis ~]$ sqlplus / as sysdba SQL*Plus: ...
- 咏南新CS插件开发框架支持DELPHI7
咏南新CS插件开发框架支持DELPHI7 适用软件:基于数据管理的应用软件适用行业:生产制造.物流.贸易.零售行业的ERP.MRP.CRM.MIS.MES.POS等基于C/S架构的数据库管理系统 运行 ...
- nancyfx中的静态内容文件夹
原文件 DefaultStaticContentsConventions.cs 可以根据需要自定调整,在代码里改的好处是通用.如果通过在webconfig里设置的话,在非iis环境下,可能会有问题. ...
- MVP社区巡讲 12月5日北京站| 12月12日上海站
2015年底的社区巡讲Powered MVP Roadshow正式启动啦!12月5日周六下午北京场,12月12日周六下午上海场. 欢迎各位邀请您的同事朋友来参加MVP的社区活动,也邀请您发送活动信息( ...
- 修改Tomcat的jvm的垃圾回收GC方式为CMS
修改Tomcat的jvm的垃圾回收GC方式 cp $TOMCAT_HOME/bin/catalina.sh $TOMCAT_HOME/bin/catalina.sh.bak_20170815 vi $ ...
- 将网页发布到远程windows server
1.在vs下利用文件系统发布asp.net文件 2.将生成的所有文件打包成ZIP 3.将zip文件复制并解压到远程windows server的自己创建的文件夹下 4.在windows server上 ...
- openstack 的 lbaas 疑问
1 为什么lbaas的haproxy实现没有将其放到vrouter中,而vpnaas/fwaas都放到vrouter中呢? 放在vrouter上,可以减少vrouter到haproxy的流量路径,是怕 ...
- Linux基础实验(二)
一)基础实验: 1. 新建文件a.txt,并用权限模式.权限值两种方式修改权限为rwxrwx--x 新建文件:touch a.txt 权限模式:chmod ug=rwx o=x a.tx ...