转换流实现了字节流和字符流之间的互相转换_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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021pycharm激活码【在线破解激活】

    2021pycharm激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    42
  • ConcurrentHashMap实现原理及源码分析

    ConcurrentHashMap实现原理及源码分析一、ConcurrentHashMap跟HashMap,HashTable的对比HashMap不是线程安全:在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是非常危险的HashTable是线程安全的:HashTable和HashMap的实现原理几乎一样,差别:1.Ha…

    2022年6月24日
    16
  • jQuery的ajax

    jQuery的ajax

    2021年6月11日
    116
  • PyCharm常用设置(图解)

    PyCharm常用设置(图解)1.保存设置pycharm中的设置是可以导入和导出的,file>exportsettings可以保存当前pycharm中的设置为jar文件保存在桌面上2.导入设置重装时可以直接importsettings>jar文件,就不用重复配置了确认是否要导入点击确认重新启动3.设置Python自动引入包设置Python自动引入包,要先在…

    2022年8月27日
    3
  • fedora root密码_vmware忘记密码

    fedora root密码_vmware忘记密码虚拟机好久没有用了,居然忘记了dedora12的root密码,只记得另一普通用户的密码,怎么办?在网上查了一通,终于找到实现办法来修改root的密码了,步骤如下:进入GRUB的彩色界面后,有3秒钟时间给你。按e进入GRUB,出现了:    Red Hat Enterprise Linux Server (2.6.18-8.e15xen)//看自己的型号了2. 键入e出现(

    2022年9月21日
    0
  • 微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网

    微信公众号开发相关流程及功能介绍怎么写_微信公众号平台官网进入的网址:https://mp.weixin.qq.com。测试号(网址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login),用户在开发之前可以通过测试号快速测试开发,但是测试号的接口能力有限,只限测试使用。1.1.1订阅号适用于个人和组织,群发消息1条/天,消息展示在订阅号列表里,有基础消息接口,可以自定义菜单,无微信支付功能。1.1.2服务号不适用于个人,群发消息4条/月,消息展示在会话表里,有基础消息接口,有高级接

    2022年8月20日
    9

发表回复

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

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