美文网首页
Java--转换流详解

Java--转换流详解

作者: 归子莫 | 来源:发表于2020-04-24 23:30 被阅读0次

Java--转换流详解

博客说明

文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

说明

通过转换流可以解决一定的编码问题

转换流图解

image-20200424232107479

InputStreamReader类

转换流java.io.InputStreamReader,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集

构造方法
  • InputStreamReader(InputStream in): 创建一个使用默认字符集的字符流。
  • InputStreamReader(InputStream in, String charsetName): 创建一个指定字符集的字符流。

构造举例,代码如下:

InputStreamReader isr = new InputStreamReader(new FileInputStream("in.txt"));
InputStreamReader isr2 = new InputStreamReader(new FileInputStream("in.txt") , "GBK");

OutputStreamWriter类

转换流java.io.OutputStreamWriter ,是Writer的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。

构造方法
  • OutputStreamWriter(OutputStream in): 创建一个使用默认字符集的字符流。
  • OutputStreamWriter(OutputStream in, String charsetName): 创建一个指定字符集的字符流。

构造举例,代码如下:

OutputStreamWriter isr = new OutputStreamWriter(new FileOutputStream("out.txt"));
OutputStreamWriter isr2 = new OutputStreamWriter(new FileOutputStream("out.txt") , "GBK");

转换文件编码

import java.io.*;

/**
 * @author Trans
 * @date 2020/4/24 11:23 下午
 */
public class Trans {
    public static void main(String[] args) throws IOException {
        String srcFile = "file_gbk.txt";
        String destFile = "file_utf8.txt";

        //创建流对象
        InputStreamReader isr = new InputStreamReader(new FileInputStream(srcFile),"GBK");
        //默认为utf-8
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(srcFile));
        
        //读取数据
        char[] cbuf = new char[1024];
        int len;
        while ((len = isr.read(cbuf))!=-1){
            osw.write(cbuf,0,len);
        }
        
        //释放资源
        osw.close();
        isr.close();
    }
}

感谢

百度百科

黑马程序员

以及勤劳的自己

相关文章

  • Java--转换流详解

    Java--转换流详解 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方...

  • java--处理流、转换流

    缓冲流1、缓冲流要套接在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。...

  • Java学习笔记 20 - 转换流、缓冲流

    本文主要内容1、转换流2、缓冲流3、各种流文件复制方式的效率比较4、IO流对象的操作规律 01转换流 A: 转换流...

  • Java--缓冲流详解

    Java--缓冲流详解 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方...

  • Java--打印流详解

    Java--打印流详解 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方...

  • Java--字符编码和字符集详解

    Java--字符编码和字符集详解 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如...

  • Java--序列化流详解

    Java--序列化流详解 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地...

  • IO流(二)~ 字符流

    一、转换流出现的原因及思想 1. 转换流出现的原因及思想 由于字节流操作中文不是特别方便,所以,java就提供了转...

  • 第四章 逆变电路 直流变交流

    .逆变电路常用的换流方式有 器件换流 电网换流 负载换流 强迫换流 按逆变后能量馈送去向不同来分类,电力电子元件构...

  • 满负荷运行——±500kV肇庆换流站改造工程正式投产

    6月11日14时10分,肇庆换流站对侧±500kV禄劝换流站当值人员在禄劝换流站、高坡换流站、肇庆换流站三...

网友评论

      本文标题:Java--转换流详解

      本文链接:https://www.haomeiwen.com/subject/jrycwhtx.html