转换流 转换输出流 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();
- }