IO流一些问题的总结

字节流的继承体系

字符流的继承体系

字符编码是什么?常见的字符编码表有哪些?

字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象,以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码ASCII

常见的字符编码表如下:

ASCII:将字母、数字和其他符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便以1个字节的方式存储。

GB2312:是一个简体中文字符集,由6763个常用汉字和682个全角的非汉字字符组成。

GBK:GBK编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库

GB18030:是在GBK基础上增加了一部分汉字

Big5:在台湾、香港与澳门地区,使用的是繁体中文字符集

Unicode:将世界上所有的符号都纳入其中,无论是英文、日文、还是中文等,大家都使用这个编码表,这样就利于同一的管理,在这个编码表中每一个字符占两个字节

UTF-8:为了提高Unicode的编码效率,于是就出现了UTF-8编码。UTF-8可以根据不同的符号自动选择编码的长短。比如英文字母可以只用1个字节就够了。

IO流的常用方法

字节输入流

read() 读取一个字节

read(byte[]) 读取一个字节数组

字节输出流

write(int) 写入一个字节

write(byte[]) 写入一个字节数组

write(byte[] bytes , int off , int len) 一次写一个字节数组中的一部分

字符输入流

read() 读取一个字符

read(char[]) 读取一个字符数组

字符缓冲输入流

​ readLine() 读取一行字符串

字符输出流

write(int) 写入一个字符

write(char[]) 写入一个字符数组

write(char[] chs , int off , int len)一次写一个字符数组中的一部分

write(String) 写入一个字符串

write(String str , int off ,int len) 一次写一个字符串中的一部分

字符缓冲输出流

newLine() 写入一个换行符

打印流(PrintStream、PrintWriter)的特点

PrintStreamOutputStream基础之上提供了增强的功能,即可以方便地输出各种类型的数据(而不仅限于byte类型)的格式化表示形式。PrintStream的方法从不抛出IOException

PrintWriter提供了PrintStream的所有打印方法,其方法也从不抛出IOException

与PrintStream的区别:作为处理流使用时,PrintStream只能封装OutputStream类型的字节流,而PrintWriter既可以封装OutputStream类型的字节流,还能够封装Writer类型的字符输出流并增强其功能。

close()和flush()方法的的区别

flush():刷新缓冲区,流对象可以继续使用

close():先刷新缓冲区,然后后通知系统释放资源。流对象不可再使用了。

猜你喜欢

转载自www.cnblogs.com/godles/p/11906086.html