转换流的原理,OutputStreamWriter介绍&代码实现

转换流的原理,OutputStreamWriter介绍&代码实现

本篇文章分享转换流的原理,OutputStreamWriter介绍&代码实现,对你有帮助的话记得收藏一下,看极客大全收获更多编程知识

转换流的原理:

 

 

 

 

 

 

 

OutputStreamWriter介绍&代码实现:

java.io.outputstreamlriter extends writer

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

继续自父类的共性成员方法:

- void write(int c)写入单个字符。

- void write(char[cbuf)写入字符数组。

- abstractvoid write(char[ ] cbuf,int off,int len)写入字符数组的某一部分, off数组的开始索引, l.en写的字符个数。

- void write( String str)写入字符串。

- void write(String str, int off, int len)写入字符串的某一部分, off字符串的开始索引, Len写的字符个数。

- void flush()刷新该流的缓冲。

- void close( 关闭此流,但要先刷新它。

构造方法:

outputstreamwriter(OutputStream out )创建使用黑f认字符编码的 outputStreamWwriter。

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 zhuanhuan {    public static void main(String[] args) throws IOException {
    gbk();//    wri_utf();}    /**
     * 使用专换流outputStreamldriter写GBK格式的文件     */
    private static void gbk() throws IOException {    //1.创建outputStreamvriter对象,构造方法中传递字节输出流和指定的编码表名称
    OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("buai.txt"), "GBK");    //2.使用outputstreamvriter对象中的方法vrite,把字符转换为字节存储缓冲区中(编码)
    writer.write("好吗");    //3.使用outputStreamrier对象中的方法fLush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)    writer.flush();    //4.释放资源    writer.close();
  }    /**
     * 使用专换流outputStreamldriter写UTF-8格式的文件     */
  private static void wri_utf() throws IOException {      //1.创建outputstreamwriter对象,构造方法中传递字节输出流和指定的编码表名称
      OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("bupei.txt"));      //2.使用outputStreamwriter对象中的方法vrite,把字符转换为字节存储缓冲区中(编码)
      writer.write("狱神");      //3.使用outputStreamwriter对象中的方法flush,把内存缓冲区中的字节刷新到文件中(使用字节流写字节的过程)      writer.flush();      //4 .释放资源      writer.close();
  }

 

 

 

 

 

 

 

 

 

搜索

复制

原文链接:https://www.cnblogs.com/hungui/p/16476959.html

    

站长公告

极客大全专注硬核技术知识分享,助您享受知识的乐趣

热门标签