re0:从零开始的Java学习生活14(连载)

IO流、集合

一、IO流

1、缓冲流

作为功能流,可以提高节点流的读写效率,增强性能

1、字节缓冲流

字节输入缓冲流:BufferedInputStream

字节输出缓冲流:BufferedOutputSream

PS:无新增方法,可以发生多态

2、字符缓冲流

字符输入缓冲流:BufferedReader

字符输出缓冲流:BufferedWriter

PS:有新增方法,不要多态使用

2、Data流

字节流的功能流:基本数据类型流

作用: 能够读写带有数据类型的数据(要求: 基本数据类型+字符串)

基本数据类型输入流:DataInputStream

基本数据类型输出流:DataOutputStream

PS:有新增方法

注意:

读入的数据与写出的顺序保持一致

EOFException : 当读入的不是写出时的源文件遇到异常| 源文件存在改动遇到的异常

3、Object流

又叫对象流或者引用数据类型流

作用:可以读写保留所有数据类型的数据

序列化 : 将对象类型的数据转为一个可以存储|可以传输的数据的过程

反序列化 : 反转状态(将序列化过的数据转为java中的对象格式)

反序列化输入流:ObjectInputStream

序列化输出流:ObjectOutputStream

PS:有新增方法

注意:

1.先序列化后反序列化

2.读入与写出的顺序要保持一致

3.不是所有类型的数据都能够序列化 实现一个空接口 java.io.Serializable

4.不是所有的属性都需要序列化 transient修饰

5.静态的变量不会序列化

6.父类有实现序列化接口,子类可以序列所有成员

7.子类实现了序列化接口父类没有实现,子类只能序列化自己独有的内容

控制版本的统一性: 序列化的类型默认存在一个serialVersionUID = 1972236683886522887,根据成员的修改会更新

控制每次修改内容前后序列号统一,解决版本不兼容问题

为序列化的类提供序列号: idea工具生成 1)实现Serializable接口 2)设置Setting中配置 3)选中类名 alt+enter按钮

4、CommonIO

CommonsIO 是apache的一个开源的工具包,封装了IO操作的相关类,使用Commons IO可以很方便的读写件,url源代码等。

使用步骤:

1、下载资源文件 jar包

2、项目下进行整合 加入到资源目录中

3、项目下新建一个文件夹 lib ,把jar包放入lib中

4、选中jar包,右键 add as lib...

方法名作用
FileUtils.copyFile()复制文件
FileUtils.copyDirctory()复制文件夹
FileUtils.deleteQuietly()删除文件
FileUtils.deleteDiretory()删除文件夹
FileUtils.cleanDircyory()清空文件夹

二、集合

也叫容器,可以存储多个数据

数组和集合的区别

数组:

1.数组是一个引用数据类型

2.定长,长度一旦确定不可改变

3.存储任意类型的数据,存储数据的类型要求一致

4.有序,有索引|下标(从0开始)

集合:

可以随着数据的增删容量进行改变

存储任意引用类型的数据

Collection

/ \

Set List Map

| / \ |

HashSet LinkedList ArrayList HashMap

1、方法

多态写法:Collection col=new ArrayList();

方法名作用
size()获取集合元素个数
add()添加数据
addAll()添加参数集合全部数据
clear()从此集合中删除所有元素
contain()如果此集合包含指定的元素,返回true
isEmpty()如果此集合不包含任何元素,返回true
remove()从此集合中移除指定元素
removeAll()从此集合中移除与参数集合重复的部分元素
retainAll()仅保留此集合中与参数集合重复的部分元素
toArray()返回包含此集合中所有元素的数组

2、遍历集合

1、for..each

for(Object o:col){
    System.out.println(o);
}

2、迭代器

Iterator it=col.iterator();
while(it.hasNext()){
    System.out.println(it.next());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值