资讯专栏INFORMATION COLUMN

转换流04_OutputStreamWriter介绍&代码实

notebin / 1052人阅读

摘要:是字符流通向字节流的桥梁可使用指定的将要写入流中的字符编码成字节。编码把能看懂的变成看不懂继续自父类的共性成员方法写入单个字符。刷新该流的缓冲。关闭此流,但要先刷新它。构造方法创建使用默认字符编码的。

package com.itheima.demo03.ReverseStream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

/*

java.io.OutputStreamWriter extends Writer
OutputStreamWriter: 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。(编码:把能看懂的变成看不懂)

继续自父类的共性成员方法:
    - void write(int c) 写入单个字符。
    - void write(char[] cbuf)写入字符数组。
    - abstract  void write(char[] cbuf, int off, int len)写入字符数组的某一部分,off数组的开始索引,len写的字符个数。
    - void write(String str)写入字符串。
    - void write(String str, int off, int len) 写入字符串的某一部分,off字符串的开始索引,len写的字符个数。
    - void flush()刷新该流的缓冲。
    - void close() 关闭此流,但要先刷新它。
构造方法:
    OutputStreamWriter(OutputStream out)创建使用默认字符编码的 OutputStreamWriter。
    OutputStreamWriter(OutputStream out, String charsetName) 创建使用指定字符集的 OutputStreamWriter。
    参数:
        OutputStream out:字节输出流,可以用来写转换之后的字节到文件中
        String charsetName:指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK,...不指定默认使用UTF-8
使用步骤:
    1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
    2.使用OutputStreamWriter对象中的方法write,把字符转换为字节存储缓冲区中(编码)
    3.使用OutputStreamWriter对象中的方法flush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
    4.释放资源

*/
public class Demo02OutputStreamWriter {

public static void main(String[] args) throws IOException {
    //write_utf_8();
    write_gbk();
}

/*
   使用转换流OutputStreamWriter写GBK格式的文件
*/
private static void write_gbk() throws IOException {
    //1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("10_IOgbk.txt"),"GBK");
    //2.使用OutputStreamWriter对象中的方法write,把字符转换为字节存储缓冲区中(编码)
    osw.write("你好");
    //3.使用OutputStreamWriter对象中的方法flush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
    osw.flush();
    //4.释放资源
    osw.close();
}

/*
    使用转换流OutputStreamWriter写UTF-8格式的文件
 */
private static void write_utf_8() throws IOException {
    //1.创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
    //OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("10_IOutf_8.txt"),"utf-8");
    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("10_IOutf_8.txt"));//不指定默认使用UTF-8
    //2.使用OutputStreamWriter对象中的方法write,把字符转换为字节存储缓冲区中(编码)
    osw.write("你好");
    //3.使用OutputStreamWriter对象中的方法flush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)
    osw.flush();
    //4.释放资源
    osw.close();
}

}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76259.html

相关文章

  • 转换05_InputStreamReader介绍&代码

    摘要:是字节流通向字符流的桥梁它使用指定的读取字节并将其解码为字符。解码把看不懂的变成能看懂的继承自父类的共性成员方法读取单个字符并返回。一次读取多个字符将字符读入数组。关闭该流并释放与之关联的所有资源。构造方法创建一个使用默认字符集的。 package com.itheima.demo03.ReverseStream; import java.io.FileInputStream;impo...

    alanoddsoff 评论0 收藏0
  • 1、转换 2、缓冲

    摘要:字符转换流原理字节流编码表。和作为子类,仅作为操作字符文件的便捷类存在。源目的先根据需求明确要读,还是要写。屏幕网络完全可以明确具体要使用哪个流对象。明确四是否需要额外功能呢额外功能转换吗转换流。高效吗缓冲区对象。 01转换流概述 * A: 转换流概述 * a: 转换流概述 * OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码...

    sf190404 评论0 收藏0
  • Java编程基础22——IO(字符)&字符其他内容&递归

    摘要:字符流字符流是什么字符流是可以直接读写字符的流字符流读取字符就要先读取到字节数据然后转为字符如果要写出字符需要把字符转为字节再写出类的方法可以按照字符大小读取通过项目默认的码表一次读取一个字符赋值给将读到的字符强转后打印字符流类的方法可以 1_字符流FileReader 1.字符流是什么 字符流是可以直接读写字符的IO流 字符流读取字符, 就要先读取到字节数据, 然后转为字符. ...

    BoYang 评论0 收藏0
  • 转换06_练习_转换文件编码

    package com.itheima.demo03.ReverseStream; import java.io.*; /* 练习:转换文件编码 将GBK编码的文本文件,转换为UTF-8编码的文本文件。 分析: 1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称GBK 2.创建OutputStreamWriter对象,构造方法中传递...

    linkFly 评论0 收藏0
  • IO字符3,4字符输出_Writer类&FileWriter类|字符输出的基本使用,输

    摘要:字符输出流是所有字符输出流的最顶层的父类是一个抽象类共性的成员方法写入单个字符。写入字符串的某一部分字符串的开始索引写的字符个数。刷新该流的缓冲。文件字符输出流作用把内存中字符数据写入到文件中构造方法根据给定的对象构造一个对象。 package com.itheima.Demo05Writer; import java.io.FileWriter;import java.io.IOEx...

    CrazyCodes 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<