五、标准输入、输出流
System类中
public static final InputStream in:标准输入流(键盘录入,Scanner)
public static final PrintStream out:标准输出流 (打印到控制台)
public static final PrintStream err 标准错误输出流(了解)
类名.调用,返回字节流对象,(标红的是返回对象)
六、转换流
a:OutputStreamWriter:(包装一个字节输出流)将字节输出流转换为字符输出流
b:InputStreamReader:(包装一个字节输入流)将字节输入流转换为字符输入流
七、打印流
PrintStream
PrintWriter
可以自动换行,println()
不能输出字节,但是可以输出其他任意类型
通过某些配置,可以实现自动刷新(只有在调用 println、printf 或 format才有用)
eg:PrintWriter(Writer out, boolean autoFlush) boolean 为true 开启自动刷新
也是包装流,不具备写出功能
可以把字节输出流转换成字符输出流
注意:只能输出不能输入
八、对象操作流
ObjectInputStream 称为 反序列化流,利用输入流从文件中读取对象
ObjectOutputStream 称为 序列化流,利用输出流向文件中写入对象
特点:用于操作对象。可以将对象写入到文件中,也可以从文件中读取对象。
对象要实现Serializable,黄线解决,生成ID号,后面对成员变量操作,不会出错
private static final long serialVersionUID = 6361890890437825953L;
九、Properties
1、Hashtable的子类,map集合中的方法都可以用。
2、该集合没有泛型。键值都是字符串。
3、它是一个可以持久化的属性集。键值可以存储到集合中,
也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。
4、常用方法
a:void load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。
b:void load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
c:void store(OutputStream out, String comments) 以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,
将此 Properties 表中的属性列表(键和元素对)写入输出流。
d:void store(Writer writer, String comments) 以适合使用 load(Reader) 方法的格式,
将此 Properties 表中的属性列表(键和元素对)写入输出字符。
十、编码表
编码表:把计算机底层的二进制数据转换成我们能看到的字符
ASCII
GB2312 --- GBK
Unicode 所有的字符都占2个字节
UTF-8 长度可变的码表
ANSI:本地编码表 gbk
Java中的字符串默认使用的ANSI(gbk)
乱码:编码保持前后一致即可解决
|
|