字符串数组集合互相转换:
字符串获取方法:
异常处理的三种方式:
一次往list集合中添加多条数据:
Collections使用方法:
集合框架介绍:
集合对比:
IO流架构图:
字符缓冲流的使用:
字节流使用方法:
序列化操作流:
IO流体系笔记:
IO流体系(Input和Output)
Input: 将磁盘中的数据读到内存中
Output:将内存中的数据写入磁盘中
一.字节流
1.字节输出流OutputStream --> FileOutputStream
写字节数据:
write(int b)方法,每次写一个字节的数据
write(byte[] b)方法,每次写一个字节数组的数据
write(byte[] b, int off, int len)方法,每次写指定长度字节数组的数据
注意:
1)数据需要追加续写,在构造方法中加true
2)写出需要换行,加\r\n
2.字节输入流InputStream -->FileInputStream
读字节数据:
read()方法,每次读一个字节的数据
read(byte[] b)方法,每次读一个字节数组的数据
注意:
读取到文件末尾,返回-1
二.字符流
1.字符输出流Writer -->FileWriter
写字符数据:
write(int b)方法,每次写一个字符的数据
write(char[] chs)方法,每次写一个字符数组的数据
write(char[] chs, int off, int len)方法,每次写指定长度字符数组的数据
write(String str)方法:写一个字符串
write(String str, int off, int len)方法:每次写指定长度字符串的数据
注意:
1)未调用close方法,数据只是保存到了缓冲区,并未写出到文件中
2)如果不想关流,可以使用flush方法刷新缓冲区
2.字符输入流Reader -->FileReader
读字符数据:
read()方法,每次读一个字符的数据
read(char[] chs)方法,每次读一个字符数组的数据
read(char[] cbuf, int off, int len) 将字符读入数组的一部分。
三.属性集
Properties:每个键及其对应值都是一个字符串
存储方法
setProperty(String key, String value) : 保存一对属性
getProperty(String key) :获取指定的键对应的属性值
Set<String> stringPropertyNames() :获取所有键的名称
与流相关的方法:
load(InputStream is): 用字节输入流读取文件中的键值对
store(OutputStream os):用字节输出流将键值对写入文件中
Properties prop = new Properties();
prop.store(new FileOutputStream("prop.txt"),"test");
prop.load(new FileReader("prop.txt"));
Set<String> set = prop.stringPropertyNames();
四.缓冲流
1.字节缓冲输出流:BufferedOutputStream
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("bos.txt"));
bos.write();
2.字节缓冲输入流:BufferedInputStream
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt"));
int len = bis.read();
3.字符缓冲流输出流:BufferedWriter
BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));
bw.write();
bw.newLine();
4.字符缓冲流输入流:BufferedReader
BufferedReader br = new BufferedReader(new FileReader("br.txt"));
String line = br.readLine();
五.转换流
1.OutputStreamWriter:写字节,使用指定的字符集将字符编码为字节
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("out.txt") , "GBK");
osw.write("你好");
2.InputStreamReader: 读字节,使用指定的字符集将字节解码为字符
InputStreamReader isr = new InputStreamReader(new FileInputStream("in.txt") , "GBK");
int len = isr.read();
六.序列化流
1.ObjectOutputStream类:序列化,将对象转换成字节写入文件存储
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("employee.txt");
out.writeObject(obj);
2.ObjectInputStream类:反序列化,读取文件中的字节重构成对象
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));
Object obj = ois.readObject();
3.注意:
1)一个对象要想序列化,这个类必须实现Serializable接口
2)如果类中某个属性不需要序列化,使用transient关键字修饰
迭代器:iterator
比较器:comparator
过滤器:filter
监听器:listener
适配器:adapter
数据:核心
变量:只能存储一个数据
数组:可以存储多个数据,但是长度固定
集合:可以存储多个数据,长度可以改变,但是只能临时存储(内存中)
IO流:可以存储多个数据,长度可以改变,并且可以永久存储(磁盘中),但是数据不方便操作数据库: