黑马程序员技术交流社区
标题:
【哈尔滨校区】JAVA基础关于IO流的相关总结
[打印本页]
作者:
Lee0
时间:
2017-11-29 17:54
标题:
【哈尔滨校区】JAVA基础关于IO流的相关总结
本帖最后由 Lee0 于 2017-11-29 18:17 编辑
IO流:用于设备之间的数据传输
关于IO流的分类:
按照流向分为输出流和输入流;
按照数据类型分为字符流和字节流;
下面为我总结的IO流的大体知识结构
字符流:(只能操作纯文本文件)
输入流:Reader
FileReader 构造方法:file对象、String 字符串文件名
BufferedReader 构造方法:reader对象
高效流,可以一次读取一行
InputStreamReader 构造方法:InputStream对象
转换流,字节流通向字符流的桥梁
通过构造方法可以使用指定编码集进行转换 (InputStreamReader(InputStream in, String charsetName))
输出流:Writer
FileWriter 构造方法:file对象(,true)、String类型文件名(,true)
如果文件需要追加写入,可以通过构造方法后面加true来实现
BufferedWriter 构造方法:writer对象
高效流,特有方法:newLine()方法 换行 与系统无关
OutputStreamWriter 构造方法:outputStream对象
转换流,字符流通向字节流的桥梁
通过构造方法可以使用指定编码集进行转换
(OutputStreamWriter(OutputStream out, String charsetName))
PrintWriter 构造方法:file对象、outputStream对象(,true)、String文件名、writer对象(,true)
打印流,构造方法传字符流或字节流对象后加true可以实现自动刷新
可自动刷新的方法有println()、printf()、format()
Println()方法可以自动换行 与系统无关
字节流:(可以拷贝任何类型的文件)
输入流:InputStream
FileInputStream 构造方法:file对象、String文件名
ObjectInputStream构造方法:InputStream对象
对象流,反序列化流, 可以从文件中读取对象 使用方法 Obejct readObject()
使用自定义类时,需实现序列化接口(Serializable接口) 才能从文件中读取
注意:若要类无论如何修改都能正常进行序列化与反序列化,必须生成序列号。
一定是先序列化,才能进行反序列化。(先写才能读)
Static InputStream in
标准输入流 System.in
输出流:OutputStream
FileOutputStream 构造方法:file对象(,true)、String文件名(,true)
如果文件需要追加写入,可以通过构造方法后面加true来实现
ObjectOutputStream 构造方法:OuputStream对象
对象流,序列化流, 将对象写入文件 使用方法:void writerObject(object)
使用自定义类时,需实现序列化接口(Serializable接口) 才能从文件中读取
PrintStream 构造方法 file对象、outputStream对象(,true)、String文件名(,true)
打印流,构造方法传字符流或字节流对象后加true可以实现自动刷新
可自动刷新的方法有println()、printf()、format()
Println()方法可以自动换行 与系统无关
Static PrintStream out
标准输出流。 System.out
当使用IO流的时候可以先进行判断再决定使用哪个流:
1.考虑是输入还是输出?
2.传输的数据为什么格式?文本还是其他数据
3.是否需要使用转换流?字符转字节或者字节转字符
4.是否需要用高效流?一次读取一行
应该懂得这样一个道理:要努力,努力,再努力;如果开始不成功,还要努力,努力,再努力。 —— 威·希克森
作者:
张斯佳
时间:
2017-11-30 10:50
排班整洁,总结的也不错,继续努力
作者:
杨露露老师
时间:
2017-11-30 15:59
一看就是敲代码习惯了哈哈,不错。
作者:
黑马与你同在
时间:
2017-11-30 16:17
要努力,努力,再努力;如果开始不成功,还要努力,努力,再努力,这句话喜欢
作者:
呵呵哈哈256
时间:
2017-12-2 10:21
写的很好!很具体!!向你学习
作者:
sxnacm
时间:
2017-12-2 10:22
很全面,开过了基础班还有进阶阶段的所有内容,对于我这种IO流比较薄弱的人来说还是很有帮助的!
简单明了,言简意赅!
作者:
synchronize
时间:
2017-12-2 10:27
System.in一般不轻易关闭
作者:
董国洋_
时间:
2017-12-2 10:27
正好需要,很棒 手动比心!!!!!
作者:
zhanzuhui
时间:
2017-12-2 10:28
IO流总结的很不错,既全面,又简洁
作者:
峨眉山吴彦祖
时间:
2017-12-2 10:29
认真的看过了这位同学写的代码,又一次帮我复习了一下io 流的知识,
真的不错, 总体内容很全面都是课上的重点.
作者:
刘昌昊
时间:
2017-12-2 12:54
总结的到位,最后使用哪个流的经验总结对我很有用处
作者:
ycbin
时间:
2017-12-2 14:44
总结的挺好
作者:
恋爱不如敲代码
时间:
2017-12-2 17:23
刚好今天做作业就用到了 感谢老铁
作者:
weiyipeng123456
时间:
2017-12-2 17:44
感谢谢你让我更深一层的记住IO流
作者:
学员123
时间:
2017-12-2 17:44
内容详细 工整美观
作者:
天敬沅
时间:
2017-12-2 18:23
非常详细的解释, 非常受益, 看好你!
作者:
看不见我
时间:
2017-12-2 18:31
正好io学得不好 总结的很全面 十分感谢
作者:
为学日益者
时间:
2017-12-2 19:17
总结到位,谢谢分享!!!
作者:
聆听者
时间:
2017-12-2 19:46
条理清晰,像记忆树一样,有主干,也有细枝末节,关联性这么好,谢谢腿哥,膜拜之后就是模仿了,嘿嘿get。
作者:
demo_jean
时间:
2017-12-2 19:47
io总结的还不错。
作者:
Lust
时间:
2017-12-2 19:55
文本整洁,内容详细,可用来课前预习,课后复习,生疏时温习,每次阅读,都有收益,赞一个!
作者:
13654406079
时间:
2017-12-2 20:51
段位详细,容易理解 棒棒的
作者:
13654406079
时间:
2017-12-2 20:52
详细 易懂
作者:
13654406079
时间:
2017-12-2 20:54
文本详细,易懂。收益匪浅
作者:
默契人生
时间:
2017-12-2 21:01
挺全面的,相当于又重新学习一遍。
作者:
爱奋斗的桃花侠
时间:
2017-12-2 21:19
还有object,可以传直接传集合入文件,不过用properties配置文件好用
作者:
敲代码---
时间:
2017-12-2 21:22
一看耳目一新,优秀自然有优秀的道理,好记性不如烂笔头,好好记笔记,多回顾,向优秀学习
作者:
lin632854170
时间:
2017-12-2 21:31
总结的很到位,全都是课上讲过的,过了一段时间再看也容易理解,排版也清晰,一看就知道哪个是哪个。总体来说做的很用心,我看完之后印象又加深了一些,给你个赞!
作者:
adonispeng
时间:
2017-12-2 21:43
总结的非常好,对我的学习很有帮助! 加油!!
作者:
黑胡子爷爷
时间:
2017-12-2 22:46
感觉这应该算是基础班的重点了 解释的很棒 有些不用都忘了 记得比较杂乱 基础功还是不深啊
作者:
小鹿哥
时间:
2017-12-2 23:53
IO流在基础班是属于重要知识点了,感谢老铁总结的知识点,又学习了一遍!
作者:
Vampire军哥
时间:
2017-12-2 23:58
io流的重点基础,总结的很到位,可以直接当笔记使用了
作者:
骑士冈布奥
时间:
2017-12-3 00:45
又学到了
作者:
sunyiran
时间:
2017-12-3 10:30
demo_jean 发表于 2017-12-2 19:47
io总结的还不错。
问题很大。IO的核心设计思想是适配者模式和装饰模式。基本流是inputStream和outputStream,根据输入输出对象不同又分为文本输入输出(可用字符输出流和字节输出流),对象输入输出(ObjectputStream),图像,视频等(只能用字节输出流),这是采用适配者模式。根据需求不同,可采用bufferinputStream,建立缓冲区,每次存取额定大小的数据,可用printwrit,自动解析数据流,这是装饰模式。
作者:
sunyiran
时间:
2017-12-3 10:31
问题很大。IO的核心设计思想是适配者模式和装饰模式。基本流是inputStream和outputStream,根据输入输出对象不同又分为文本输入输出(可用字符输出流和字节输出流),对象输入输出(ObjectputStream),图像,视频等(只能用字节输出流),这是采用适配者模式。根据需求不同,可采用bufferinputStream,建立缓冲区,每次存取额定大小的数据,可用printwrit,自动解析数据流,这是装饰模式。
作者:
15846125943
时间:
2017-12-5 10:48
受教了 总结的好
作者:
nighhr
时间:
2017-12-5 11:11
有没有xml和dom4j的相关总结 求更新啊
作者:
pyx0812
时间:
2017-12-5 13:17
简介明了,又复习了一次,IO老是用不好,下次不会可以来这里查查了。
作者:
JavaDeveloper
时间:
2017-12-5 22:12
看完这篇帖子,让我对java中IO流的操作和使用更加熟悉了,很好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2