黑马程序员技术交流社区
标题:
io学习笔记
[打印本页]
作者:
kjkjkjh
时间:
2015-12-16 23:59
标题:
io学习笔记
IO流:
概述:使用来处理不同设备间的数据传输。
IO用到的所有的类都在IO包下。
分类:
按照流向分:(操作的是内存 和 硬盘之间的数据,把你自己当做是内存)
输入流:读取文件。
输出流:写文件。
按照操作分: //重点掌握
字节流:可以操作任何类型的数据
InputStream 字节输入流(读)
OutputStream 字节输出流(写)
字符流:只能操作纯中文的数据。
Reader 字符输入流
Writer 字符输出流
步骤: //掌握
使用前,导包,
使用时,抛异常,
使用后,释放资源。
**************************************************************************************************
字节流:可以操作任何类型的数据
InputStream 字节输入流(读)
FileInputStream
public int read(); //从数据源中读取数据,一次读一个字节,读不到就返回-1. //掌握
为什么方法的返回值是 int类型? //理解
计算机底层存储数据都是以:数据的二进制补码形式来存,
当read()方法一次读一个字节,有可能读到“11111111”这样的字节(-1的补码)
这个时候,后边的数据就不读了,所以,我们在读数据的时候,给每个字节前边加上三个字节来读,
写的时候,再把前边加的三个字节给去掉就可以了。
简单记:防止中间读到“11111111”这样的数据,后边的内容就读取不了了。
public int read(byte[] bys); //一次读一个字节数组,并将读到的有效字节数返回,如果没有数据返回-1 //掌握
public int available(); //获取要读取的文件的 所有字节数
OutputStream 字节输出流(写)
FileOutputStream
构造方法: //掌握
FileOutputStream(String name); //往指定文件中写内容,后续在写的话,会将之前的内容给覆盖掉
FileOutputStream(String name,boolean append); //往指定文件中写内容,
//这个是追加,不会讲之前的内容覆盖掉,但是第二个参数要传true
public void write(int b); //往目的地文件中 写内容 一次写一个字节 //掌握
public void write(byte[] bys); //往目的地文件中 写内容,一次写一个固定长度的字节数组
public void write(byte[] bys,int index,int length); //将读到的 有效字节数 写入到目的地文件中 //掌握
作者:
sorry88886
时间:
2015-12-17 00:06
不错啊 棒棒的!
作者:
崔喆轩
时间:
2015-12-17 00:06
加油!!!!!!!!!
作者:
jiuyeban
时间:
2015-12-17 23:20
看不懂不懂oaoaoao
作者:
zll464928406
时间:
2015-12-18 15:00
棒棒的,加油!!
作者:
dsqhhzz
时间:
2015-12-20 11:06
加油。。。。。
作者:
陈凯旋
时间:
2015-12-20 12:47
不错!很厉害!!!!
作者:
littp
时间:
2015-12-20 13:00
差点看成了 iOS。。。
作者:
10047201
时间:
2015-12-20 15:29
赞赞,顶一个
作者:
huqianqian
时间:
2015-12-20 18:11
很棒啊!
作者:
lastOrdeR
时间:
2015-12-20 19:34
学习了,学习了。
作者:
一曲繁华尽
时间:
2015-12-20 19:57
可以可以 学习一下
作者:
劉一刀
时间:
2015-12-21 22:36
不错 赞一个
作者:
周翔
时间:
2015-12-21 22:38
666666666666666666
作者:
san_ss
时间:
2015-12-22 00:38
楼主说的好哈。
作者:
luoye111
时间:
2015-12-22 00:57
66666666666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2