---------------------- android培训、java培训、期待与您交流! ----------------------
IO 流:按操作数据分为 字节流和字符流。按流向分为输入流和输出流、
字节流的两个基类:InputStream OutputStream
字符流的两个基类:Reader Writer
装饰设计模式:
当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于对象已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。
装饰模式比继承要灵活,避免了继承体系臃肿,而且降低了类与类之间的关系。
readLine方法是字符流BufferedReader类中的方法、
而键盘录入的read方法是字节流InputStream的方法、
能不能将字节流转成字节流。再使用字符流缓冲区的readLine方法呢?
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in)); -------记住!!!键盘录入最常见写法!
流操作的基本规律:
最痛苦的就是流对象有很多,不知道该用哪一个。
通过三个明确来完成。
1,明确源和目的。
源:输入流。InputStream Reader
目的:输出流。OutputStream Writer
2,操作的数据是否是纯文本。
是:字符流,不是:字节流。
3,当体系明确后,再明确要使用哪个具体的对象、
通过设备来进行区分:源设备:内存,硬盘,键盘。
目的设备:内存,硬盘,控制台。
File 类常见方法:
boolean creatNewFile() 在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,
输出流对象一建立创建文件。而且文件已经存在的也会覆盖掉~
boolean delete() 删除失败返回false
void deleteOnExit() 在程序退出时删除指定文件
boolean exists() 判断文件是否存在
Properties是hashtable的子类。
也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串。
是集合和IO技术相结合的集合容器。
该对象的特点:可以用于键值对形式的配置文件。
那么在加载数据时,需要数据有固定格式:键=值。
字节打印流:printStream
构造函数可以接收的参数类型:
1.file对象 File
2.字符串路径 String
3.字节输出流 OutputStream
字符打印流:PrintWriter
构造函数可以接收的参数类型:
1.file对象 File
2.字符串路径 String
3.字节输出流 OutputStream
4.字符输出流 Writer
---------------------- android培训、java培训、期待与您交流! ----------------------