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

java基础专栏—IO转换(3)

2017-10-20 00:00 127 查看
摘要: 摘要: 摘要: 摘要: 笔者在java学习的这条道路上也是断断续续走了一年多了,视频啊,数据啊什么的也看了好几遍了,真的是java从入门到放弃啊,哈哈,看的多了一渐渐的明白了一点东西,笔者整理了一些自己的学习笔记,在此与大家分享,不喜勿喷,多多指教,万分感谢。

流对象的转换

FileWriter,FileReader,都是默认使用GBK编码表(安装了中文的系统的都是默认GBK)。要对编码表进行操作,解决网页的乱码问题就需要流转换

OutputStreamWriter

字符流通向字节流的桥梁
,这个流本身可以操作编码表

|--Writer
|--OutputStreamWriter
|--FileWriter
自身是一个字符输出流,用来写文本文件

public OutputStreamWriter(OutputStream out)

public OutputStreamWriter(OutputStream out, String CharsetName)

转换过程

//创建流对象绑定文件对象
FileOutpurStream fos = new FileOutputStream("xxxxx");
//创建转换流,通过构造函数转换流,指定编码格式
OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK");
//通过转换流对象来写入文件
osw.write("xxxx");
//只用关闭转换流就可关闭输出流了
osw.close();

InputStreamReader

字节流通向字符流的桥梁
,这个流本身可以操作编码表

|--Reader
|--InputStreamReader
|--FileReader
自身是一个字符输入流,用来读文本文件

public InputStreamReader(InputStream in)

public InputStreamReader(InputStream in, String CharsetName)

转换过程

FileInputStream fis = new FileInputStream();

InputStreamReader isr = new InputStreamReader(fis,"gbk");

char[] ch = new char[1024];

int len = 0;

while((len = isr.read()) != -1){
System.out.println(new String(ch, 0, len));
}

isr.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java IO IO转换