脚本宝典收集整理的这篇文章主要介绍了IO流,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是流?
概念:内存与存储设备之间传输数据的通道
水借助管道传输;数据借助流传输
按方向分:
按单位分:
按功能分:
public int read(byte[] b )
从流中读取多个字节,将读到内容存入b数组,返回实际读到的字节数;如果达到文件的尾部,则返回-1
FileOutputStream:
public void wrITe(byte[] b)
一次写入多个字节,将b数组中所有字节,写入输出流。
1、提高IO效率,减少访问磁盘的次数
2、数据存储在缓冲区中,flush是将缓冲区的内容写入文件中,也可以直接close
1、增强了缓冲区的功能
2、增强了读写8种基本数据类型和字符串功能
3、增强了读写对象得到功能:readObject() 从流中读取一个对象
writeObject(Object obj) 向流中写入一个对象
使用流传输对象的过程称为序列化、反序列化。
注意事项:
1、序列化类必须要实现Serializable接口
2、一个对象只能读一次,重复读一个对象会抛出EOFException异常
3、序列化类中对象属性也要实现Serializable接口
4、序列化版本号ID,保证序列化的类和反序列化的类是同一个类。
5、使用transient<瞬间的>修饰属性,这个属性不会被序列化
6、静态属性也不能被序列化
7、序列化多个对象可以借助集合实现
编码方式和解码方式不同会出现乱码
字节流可以复制任何文件,但是字符流只能复制文本文件,不能复制图片和二进制文件。
桥转换流:InputStreamReader / OutputStreamWrite
InputStreamReader是字节流通向字符流的桥梁
OutputStreamReader是字符流通向字节流的桥梁
1、CreatNewFile() //创建一个新文件夹
2、mkdir() //创建一个新目录
3、delete() //删除文件或空目录
4、exists() //判断file对象所代表的对象是否存在
5、getAbsolutePath() //获取文件的绝对路径
6、getName() //取的名字
7、getParent() //获取文件所在的目录
8、isDirectory() //是否是目录
9、isFile() //是否是文件
10、lenght() //获得文件的长度
11、listFiles() //列出目录中的所有内容
12、renameTo() //修改文件名为
文件夹删除操作只能删除最低级的空目录
以上是脚本宝典为你收集整理的IO流全部内容,希望文章能够帮你解决IO流所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。