您的位置:首页 > 编程语言 > Java开发

Java基础-IO流7 转换流特有功能

2016-11-22 16:36 155 查看
转换流特有功能:转换流可以将字节转成字符,原因在于,将获取到的字节通过查编码表获取到指定对应字符。

 

转换流的最强功能就是基于 字节流+ 编码表 。没有转换,没有字符流。

 

发现转换流有一个子类就是操作文件的字符流对象:

InputStreamReader

       |--FileReader

OutputStreamWriter

       |--FileWrier

 

想要操作文本文件,必须要进行编码转换,而编码转换动作转换流都完成了。所以操作文件的流对象只要继承自转换流就可以读取一个字符了。

 

但是子类有一个局限性,就是子类中使用的编码是固定的,是本机默认的编码表,对于简体中文版的系统默认码表是GBK。

FileReader fr =new FileReader("a.txt");

InputStreamReader isr = new InputStreamReader(newFileInputStream("a.txt"),"gbk");

以上两句代码功能一致,

如果仅仅使用平台默认码表,就使用FileReader fr = newFileReader("a.txt"); //因为简化。

 

如果需要制定码表,必须用转换流。

转换流 = 字节流+编码表。

转换流的子类File = 字节流 + 默认编码表。

 

凡是操作设备上的文本数据,涉及编码转换,必须使用转换流。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐