第19天-01-IO流(BufferedWriter) 字符流的缓冲区 缓冲区的出现提高了对数据的读写效率. 对应类缓冲区要结合流才可以使用. BufferedWriter BufferedReader 在流的基础上对流的功能进行了增强. import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /* 缓冲区是为了提高流的操作效率而出现的, 所以在创建缓冲区之前,必须要先有流对象.…
第19天-06-IO流(装饰设计模式) 装饰设计模式: 当想要对已有的对象进行功能增强时, 可以定义类,将已有对象传入,基于已有的功能,并提供加强功能.那么这个自定义的类称为装饰类. 装饰类通常会通过构造方法接收被装饰的对象. 并基于被装饰的对象的功能,提供更强的功能. 第19天-07-IO流(装饰和继承的区别) MyReader //专门用于读取数据的类 |----MyTextReader |----MyMediaReader |----MyDataReader |____MyBufferRe…
第19天-11-IO流(字节流File读写操作) import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; /* 字符流 Reader/Writer FileReader/FileWriter BufferedReader/BufferedWriter 字节流: InputStream/OutputStream FileInputStream/FileOutputStr…
第19天-20-IO流(改变标准输入输出设备) static void setIn(InputStream in) Reassigns the "standard" input stream. static void setOut(PrintStream out) Reassigns the "standard" output stream. package bxd; import java.io.*; public class TransStreamDemo3 {…
第19天-18-IO流(流操作规律 - 1) 通过三个步骤来明确"流操作"的规律: 明确数据流的"源和目的" 源, 输入流: InputStream/Reader 目的, 输出流: OutputStream/Writer 明确操作的数据是否是纯文本 是, 字符流 不是, 字节流 通过设备来区分要使用哪个具体的类 源设备: 内存/硬盘/键盘 目的设备: 内存/硬盘/控制台 附录 是否需要进行缓冲: BufferedReader bufr = new BufferedR…
第19天-15-IO流(读取键盘录入) InputStreamReader是字节流通向字符流的桥梁,它使用指定的charset读取字节并将其解码为字符.它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集.每次调用InputStreamReader中的一个read()方法都会导致从底层输入流读取一个或多个字节.要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节. 为了达到最高效率,可考虑使用BufferedReader:Buffere…
第21天-01-IO流(对象的序列化) ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable接口(标记接口) 非必须, 但强烈建议所有可序列化类都显式声明serialVersionUID package bxd; import java.io.*; public class ObjectStreamDemo { public static void readObj() throws Exception { ObjectInputS…
第20天-07-IO流(递归) package bxd; import java.io.File; public class FileDemo3 { // 非递归打印 public static void showDir_1(File dir) { File[] files = dir.listFiles(); for (File file : files) { System.out.println(file); } } // 递归打印 public static void showDir_2(…
18天-06-IO流 字节流和字符流 字节流两个基类:InputStream,FileInputStream,BufferedInputStream OutputStream,FileOutputStream,BufferedOutputStreamPrintStream (打印字节流,带编码格式) 字符流两个基类:Reader,FileReader,BufferedReader,InputStreamReader(字节流转换为字符流读取,带编码格式)Writer,FileWriter,Buff…
22天-01-GUIGUI:Graphical User Interface 图形用户接口 Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中CLI:Common line User Interface 命令行用户接口 Awt:Abstract Window ToolKit(抽象工具包),需要调用本地系统方法实现功能,属于重量级控件.Swing:在Awt的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现,增强了移植性,属于轻量级控件. 继…