转换流实现了字节流和字符流之间的互相转换_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();
}

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows上mysql安装教程_mysql和oracle的区别

    windows上mysql安装教程_mysql和oracle的区别前期在windows电脑尝试安装mysql,经历诸多不顺,特把安装详细步骤以及遇见的问题记录下来,提供给有需者使用。配置过程主要分为五个步骤,如下所示:(1)确认本地是否安装mysql(2)下载mysql安装包(3)添加配置文件并安装mysql(4)修改mysql密码(5)配置环境变量【确认本地是否安装mysql】(1)按【win+r】快捷键打开运行;(2)输入services.msc,点击【确定】;(3)在打开的服务列表中查找mysql服务,如果没有mysql服务,说明本机没有安装my

    2022年9月14日
    2
  • Java和Python的区别及工资对比,到底该学哪个?[通俗易懂]

    Java和Python的区别及工资对比,到底该学哪个?[通俗易懂]不知不觉,2019年的第三季度也快要结束了!随着互联网的发展,人工智能、语音技术、区块链等技术不断发挥着重要作用时,大家一直都在追逐着、猜测着2020年什么技术会火,却忽略掉了眼前的事情。近日有位博主做出了9月份关于程序员工资统计:·Java工程师工资·Python工程师工资自从Python火爆全球后,一直以来都被拿来和Java相比,从以上数据可以看出:Python薪资比Java会…

    2022年7月7日
    25
  • 设计模式:组合模式

    设计模式:组合模式

    2022年1月18日
    43
  • visifire 控件

    visifire 控件引言Silverlight对于图形图像处理方面,从1.0时代起就给予了很强大的支持,所以我们可以在Silverlight中实现非常棒的各种统计图表,然而现在有了一些开源的项目,使得这项工作更加的简单。本文我将介绍一个开源的项目visifire,使用它可以在Silverlight2中实现超酷的图表。简单图表首先我们需要下载Visifire项目Silverlight开发包,在建立完项…

    2022年7月21日
    14
  • maven的热部署

    maven的热部署在tomcat中配置用户权限,即添加管理员帐号 在根目录/conf/tomcat-users.xml 里添加下面的代码 <rolerolename="manager-gui"/><rolerolename="manager-script"/><userusername="admin"password="admin"roles="mana

    2022年5月18日
    36
  • linux java 日志_linux查看日志的方法

    linux java 日志_linux查看日志的方法linux查看日志文件内容命令tail、cat、tac、head、echotail-ftest.log你会看到屏幕不断有内容被打印出来.这时候中断第一个进程Ctrl-C,—————————linux如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行catfilename|tail-n+3000|…

    2022年6月22日
    237

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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