首页 > 编程语言 >java字符转换流

java字符转换流

时间:2022-10-08 19:56:51浏览次数:53  
标签:字符 java 字节 构造方法 编码 转换 InputStreamReader OutPutStreamWrite

OutPutStreamWrite是字符通向字节流的桥梁

  • 构造方法:

    • OutPutStreamWrite(OutPutStream out)
    • OutPutStreamWrite(OutPutStream out, String chatsetName)
      • 参数
        • OutPutStream out字节输出流,可以用来写转换之后的字节到文件中
        • String charsetName 指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK....不指定就是IDE默认编码
  • 使用步骤:

    1. 创建OutPutStreamWrite对象,构造方法中传递字节输出流和指定的编码表名称
    2. 使用OutPutStreamWrite对象中的方法write,把字符转换为字节存储缓冲区(编码的一个过程)
    3. 使用OutPutStreamWrite对象中的flush,把内存缓冲区的字节刷新到文件中
    4. 释放资源
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("./javaBook/src/cn/edu/aku/unit10/Buffer/gbk.txt"),"GBK");
        osw.write("你好");
        osw.flush();
        osw.close();

InputStreamReader是字节通向字符流的桥梁

  • 构造方法

    • InputStreamReader(InputStream in)

    • InputStreamReader(InputStream in, String charsetName)

      • 参数

        • InputStream in:字节输入流,用来读取文件中保存的字节

        • String charsetName:指定字符集

  • 使用步骤:

    1. 创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称
    2. 使用InputStreamReader对象中的read读取文件
    3. 释放资源
  • 注意事项

    • 构造方法中指定的字符编码名要和文件的编码相同,否则会发生乱码
InputStreamReader isr = new InputStreamReader(new FileInputStream("./javaBook/src/cn/edu/aku/unit10/Buffer/gbk.txt"),"GBK");
        int len = 0;
        while ((len = isr.read())!=-1){
            System.out.println((char)len);
        }
        isr.close();

标签:字符,java,字节,构造方法,编码,转换,InputStreamReader,OutPutStreamWrite
From: https://www.cnblogs.com/-xyk/p/16770018.html

相关文章

  • JAVA方法2
    方法的重载重载就是再一个类中,有相同的函数名称,但形参不同的函数方法的重载规则方法名称必须相同参数列表必须不同(个数不同或类型不同、参数排列顺序不同等)方法的返......
  • 字符串
    概述字符串是一种数据结构,属于值类型(注意:值类型是常量常量是不能改变)字符串的声明方法有两种1.是以值类型赋值比如: varstr='helloworld'2.是以new关键词......
  • 【JavaSE】变量、常量、作用域
    变量变量类型可以是基本类型(int)也可以是引用类型(String)变量名(命名规范)类成员变量:首字母小写和驼峰原则:monthSalary局部变量:首字符小写和驼峰原则常量:大写字母......
  • 【Java基础】递归介绍、思想、基本使用、求阶乘及递归遍历目录
    目录​​一、递归介绍​​​​二、递归求阶乘​​​​三、递归遍历目录​​一、递归介绍递归(recursion)的定义:递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例......
  • 【Java基础】字符串、字符流中的编码解码问题、字符流写数据的5种方式、字符流读数据
    目录​​一、字符串中的编码解码问题​​​​二、字符流中的编码解码问题​​​​三、字符流写数据的5种方式​​​​四、字符流读数据的2种方式​​​​五、字符流复制Java......
  • 测试开发【Mock 平台】02 基础:Java Spring Boot 框架知识
    https://xie.infoq.cn/article/37e7c39312567cad5db8b4fb6系列测试开发教程【Mock平台】为真实的案例,从0到1重构前后端代码,教你一步步应用SpringBoot和Antd......
  • idea关于java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver报错的解决办法
     第一步,下载驱动 点击以下链接进入MySQL驱动下载官网 https://dev.mysql.com/downloads/connector/j/ 选择PlatformIndependent   下载第二个(zip格......
  • [JavaSE]数据类型
    数据类型基本数据类型数值数据类型整型byteshortintlonglonga=100L;整数拓展二级制:0b123inti=0b11;输出:3十进制:123inti=11;输出:11八进制:0123......
  • 字符串的模式匹配
    字符串的模式匹配就是在主串中找到子串。基本方法一,是一趟一趟地比较。但是可能引起回溯,从而浪费时间,引起回溯的原因是,主串中从在和子串部分匹配的子串,这样就欺骗了程序......
  • java常用代码
    1/写一个java类充当javabean,一个jsp作为界面,在jsp中使用后台java赋值,需在jsp添加<jsp:useBeanid="user"class="test.UserData"scope="session"/>class引用类所在的......