---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ---------------------
流作为java中最重要的技术,实现了各种设备之间的数据传递,学java的人不搞明白流是什么概念肯定是不行的。
流简单的说就是设备之间传送数据的管道,管道上面有一些按钮可以对数据进行一些操作。流有两种最基本的类型:字符流和字节流,字符流针对的是文本数据,操作起来会非常方便,字节流则可以操作任何数据,字节流可以转化成为字符流,这相当于用特定编码将字节转换成字符,这个过程可以指定字符集,当然,如果字符集没选对的话,就出现乱码了。
另外,流还可以分为输出流Writer、OutputStream 和读取流Reader、InputStream,这四种流是最基本的流,其他的流类基本都是这四种流的子类,除了一个特殊的RandomAccessFile,这个类既提供了读取的功能,也提供了输出的功能,而且输出和读取都可以从文件的指定位置开始,不想其他的流需要从头到尾按顺序来。
Wirter、OutputStream 最常用的方法就是 write(), flush(), close()这里面要注意用write写字符时,要使字符换行要用转义字符"\r\n",为什么不用"\n"? 因为记事本不识别单个的"\n",而"\r\n"所有的文本软件都识别。另外用BufferedWriter 还可以使用newLine()方法来换行.
Reader、InputStream最常用的方法有read(),close()用BufferedReader还可以使用readLine() 来读取一行。
要注意的是write(数组, 角标1, 角标2) 的意思是将数组从角标1到角标2(不包括角标2)中的数据写到指定目标文件read(数组, 角标1, 角标2)的意思是将读取到的数据放到数组中,从角标1开始到角标2结束,并返回读取数据的个数。
操作流的基本规律:
1、明确源和目的 源:输入流 目的:输出流
2、操作的数据是否为纯文本
是:字符流
不是:字节流
3、当体系明确后,再明确要使用哪个具体的对象
源设备:内存,硬盘(文件),键盘
目的 :内存,硬盘,控制台
一些常用的流,需要看到就知道怎么用:
输入流:FileReader FileInputStream BufferedReader BufferedInputStream InputStreamReader ByteArrayInputStream DataInputStream CharArrayReader ObjectInputStream PipedInputStream PipedReader等,输出流基本都能知道到对应的
其他的一些:PrintStream PrintWriter SequenceInputStream RandomAccessFile等。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
相关推荐
黑马程序员-SpringCloud-学习笔记-03-Eureka注册中心
黑马程序员-SpringCloud-学习笔记01-认识微服务
黑马QT讲义,适合QT入门,使用,教程很比较基础,新手可以看看,另外视频链接在哔哩哔哩中。
黑马程序员-SpringCloud-学习笔记-02-微服务拆分及远程调用
黑马程序员 - Java基础教学 - 05 - 面向对象(1).doc
黑马程序员 - 毕向东 - Java基础教学 - 第02天 个人观看视频总结文档
黑马程序员-java32期培训视频(基础+就业)黑马程序员-java32期培训视频(基础+就业)
day01_Object类、常用API day02_Collection、泛型 day03_List、Set、数据结构、...day10_缓冲流、转换流、序列化流、Files day11_网络编程 day12_函数式接口 day13_Stream流、方法引用 Java基础小节练习题答案
黑马程序员 - Java基础教学 - 04 - 数组、进制转换、二维数组
黑马程序员 - 毕向东 - Java基础教学 - 第01天 个人观看视频总结文档
黑马程序员-梅兰商城项目实战,包含图片素材和编写源码。
C++黑马程序员-演讲比赛流程管理系统记录
黑马程序员 - Java基础教学 - 03 - 变量的作用域、for循环、break、continue、内存结构
黑马程序员 - Java基础教学 - 08 - 面向对象(4)-多态.doc
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490901
黑马程序员--毕向东全套Java视屏,讲解的相当全面,各位如果需要,尽快下载哦! 另外如果视频链接存在打不开的问题,请留言,必定及时更新链接。
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490903
黑马程序员 - Java基础教学 - 06 - 面向对象(2) - 关于静态static的那些事.doc
NULL 博文链接:https://840198532-qq-com.iteye.com/blog/1490899
1.集群概念和原理介绍, 2.集群环境介绍, 3.集群测试, 4.tomcat的优化, 5.tomcat源码简析.