转换流实现了字节流和字符流之间的互相转换_java输出流输出文件

转换流实现了字节流和字符流之间的互相转换_java输出流输出文件1、转换流–OutputStreamWriter简介:OutputStreamWriterextendsWriter,转换流也是继承自超类Writer,因此可以使用Writer中的共性方法:write(intc),write(char[]ch),…,flash(),close(),…OutputStreamWriter常用的构造方法:1)OutputStreamWr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1、转换流–OutputStreamWriter简介 :

  • OutputStreamWriter extends Writer,

    转换流也是继承自超类Writer,因此可以使用Writer中的共性方法:write(int c),write(char[] ch),…,flash(),close(),…

  • OutputStreamWriter常用的构造方法:

  • 1)OutputStreamWriter(OutputStream out)

  • 2)OutputStreamWriter(OutputStream out, String charset)

  • 参数:

  •  OutputStream:字节输出流,将编码之后的字节数据写入文件中;
    
  •  charset:指定编码的名称,不区分大小写,不指定默认为UTF-8
    
  • 2、实现步骤:

  •  1、创建OutputStreamWriter对象,构造方法中可以传入参数字节输出流对象,即字节写入的文件,以及编码方式;
    
  •  2、调用write方法,把字符转换成字节存储到缓冲区中;
    
  •  3、调用flash方法,将缓冲区的字节数据刷新到文件中;
    
  •  4、释放资源。
    

3、使用默认编码格式写数据 – UTF-8格式

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("MyBatis01\\outputStreamWriter.txt",true));
    //写数据
    osw.write("使用转换流写UTF-8格式的文件");
    //将转换后的字节文件存储到缓冲区
    osw.flush();
    //释放资源
    osw.close();

4、使用转换流写一个GBK格式的文件

OutputStreamWriter osw1 = new OutputStreamWriter(new FileOutputStream("MyBatis01\\GBKFile.txt"),"GBK");
    //写数据
    osw1.write("这是一个GBK格式的文件,使用UTF-8解码方式查看会显示乱码!!!");
    //将转换后的字节文件存储到缓冲区
    osw1.flush();
    //释放资源
    osw1.close();
}

字符转换流总结:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/197559.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java锁的分类_地锁怎么安装

    Java锁的分类_地锁怎么安装1.Java锁的种类在笔者面试过程时,经常会被问到各种各样的锁,如乐观锁、读写锁等等,非常繁多,在此做一个总结。介绍的内容如下:乐观锁/悲观锁独享锁/共享锁互斥锁/读写锁可重入锁公平锁/

  • docker启动MySQL报错

    docker启动MySQL报错一.问题描述今天用docker拉取了MySQL镜像,但是启动的时候遇到了问题。error:databaseisuninitializedandpasswordoptionisnotspecifiedYouneedtospecifyoneofMYSQL_ROOT_PASSWORD,MYSQL_ALLOW_EMPTY_PASSWORDandMYSQL_RANDOM_ROOT_PASSWORD二.解决由于没有找到其他帖子上在图形化界面上操作的修改,因此我们选

  • C#窗口句柄

    C#窗口句柄在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口极小化为图标等。实际上许多WindowsAPI函数把句柄作为它的第一个参数,如GDI(图形设备接口)句柄、菜单句柄、实例句柄、位图句柄等,不仅仅局限于窗口函数。换句话说,句柄是一种内部代码,通过它能引用受系统控制的特殊元素,如窗口、位图、图标、内存块、

  • linux apache2配置_apache2.4安装教程

    linux apache2配置_apache2.4安装教程一、安装:ubuntu及debian下的apahce有点特别,如果使用apt-get方式安装(apt-getinstallapache2)则安装目录默认在/etc/apache2默认log在/var/log/apache2/(这个鸟地方让我找了好久)二、配置文件说明/etc/apache2/apache2.conf此为apache2的主配置文件具体可

  • 【实战】javaweb学生信息管理系统[通俗易懂]

    javaweb学生信息管理系统总的来说整个项目通过Maven来管理jar包,实现了学生信息管理系统的登录,增删改查等基本操作,然后不喜写css样式,页面有点丑,但是代码中的逻辑基本正确。项目下载链接csdn下载链接github地址一、项目架构二、数据库的设计操作1.user表2.student表三、登录界面(动态生成验证码、提示账号or密码or验证码输入有误)四、登录的主界面五…

  • 【转】何帆从《世界是平的》到《谢谢你迟到》

    【转】何帆从《世界是平的》到《谢谢你迟到》

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号