转换流 转换输出流 OutputStreamWriter:
说明:
/* * OutputStreamWriter 这个类的作用 * 就是指定输出流的编码格式 * 这个类的构造方法 需要传递 一个输出流的对象 * FileOutputStream fos = new FileOutputStream("e:gu.txt"); * OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8"); * * * */
代码:
public static void main(String[] args)throws Exception {//创建一个字节输出流的对象 FileOutputStream stream = new FileOutputStream("e:gu.txt"); //创建转换流的对象 OutputStreamWriter osw = new OutputStreamWriter(stream,"utf-8"); //第二个参数如果不写就默认Gbk格式 osw.write("古斌牛逼"); osw.close(); }
运行结果:
转换流 字节输入流转换 InputStreamReader:
说明:
/* * 这个类 InputstreamReader 是用于读取 指定字符编码格式的文本 * 操作方式: * 1.创建字节输入流的对象 * FileinputStream fis = new FileinputStream("E:gu.txt"); * 2.创建字节读取转换流的对象 * InputStreamReader isr = new InputStreamReader("fis","utf-8"); * 注意: * 如果你文本的编码 与要读取的编码不一致 会发生读取到乱码* */
代码:
public static void main(String[] args)throws Exception {FileInputStream fis = new FileInputStream("E:gu.txt"); //创建字节输入流对象 //创建字节输入转换流的对象 InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); char[] c = new char[1024]; int len = 0; while((len = isr.read(c))!=-1) {System.out.println(new String(c, 0, len)); } //关闭数据流 isr.close(); }
运行结果: