outputstreamwriter.write_InputStreamReader

outputstreamwriter.write_InputStreamReader|–字符流(字符流=字节流+编码表。)|–字符输入流Reader——抽象类intread():一次读取一个字符intread(char[]chs):一次读取一个字…

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

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

|–字符流( 字符流 = 字节流 +编码表。)
|–字符输入流
Reader ——抽象类
int read():一次读取一个字符
int read(char[] chs):一次读取一个字符数组

                |--InputStreamReader                 ------extends  Reader
                    InputStreamReader = FileInputStream + 编码表(GBK)
                    |--FileReader                    ------extends InputStreamReader
                        FileReader = FileInputStream + 编码表(GBK)


                |--BufferedReader                    ------extends  Reader
                    String readLine():一次读取一个字符串

                |--StringReader                      ------extends  Reader

        |--字符输出流
            Writer                                   ------抽象类 
                void write(int ch):一次写一个字符
                void write(char[] chs,int index,int len):一次写一个字符数组的一部分

                |--OutputStreamWriter                ------extends Writer
                        OutputStreamWriter = FileOutputStream + 编码表(GBK)
                    |--FileWriter                    ------extends OutputStreamWriter
                        FileWriter = FileOutputStream + 编码表(GBK)

                |--BufferedWriter                    ------extends Writer
                    void newLine():写一个换行符
                    void write(String line):一次写一个字符串

                |--PrintWriter                       ------extends Writer
                |--StringWriter                      ------extends Writer

OutputStreamWriter :OutputStreamWriter = FileOutputStream + 编码表(GBK)
是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。

每次调用 write() 方法都会导致在给定字符(或字符集)上调用编码转换器。在写入底层输出流之前,得到的这些字节将在缓冲区中累积。可以指定此缓冲区的大小,不过,默认的缓冲区对多数用途来说已足够大。注意,传递给 write() 方法的字符没有缓冲。

为了获得最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中,以避免频繁调用转换器。例如:

Writer out
= new BufferedWriter(new OutputStreamWriter(System.out));

构造方法:

OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流
OutputStreamWriter(OutputStream out,String charsetName):根据指定编码把字节流数据转换为字符流

常用方法:

public void write(int c):写一个字符
public void write(char[] cbuf):写一个字符数组
public void write(char[] cbuf,int off,int len):写一个字符数组的一部分
public void write(String str):写一个字符串
public void write(String str,int off,int len):写一个字符串的一部分


    // 创建对象
    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
            "fos.txt"),"UTF-8");
    // 写数据
    // public void write(int c):写一个字符
     osw.write('a');
     osw.write(98);
     osw.write("\r\n");
    // public void write(char[] cbuf):写一个字符数组
     char[] chs = {'q','w','e','r','t'};
     osw.write(chs);
     osw.write("\r\n");
    // public void write(char[] cbuf,int off,int len):写一个字符数组的一部分
     osw.write(chs,1,3);
     osw.write("\r\n");
    // public void write(String str):写一个字符串
     osw.write("public void write(String str):写一个字符串");
     osw.write("\r\n");
    // public void write(String str,int off,int len):写一个字符串的一部分
    osw.write("public void write(String str,int off,int len):写一个字符串的一部分", 2, 3);
     osw.write("\r\n");
    // 刷新缓冲区
    osw.flush();
    // 释放资源

输出:fos.txt
ab
qwert
wer
public void write(String str):写一个字符串
bli

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

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

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

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

(0)


相关推荐

  • nessus安装教程_kali安装nessus

    nessus安装教程_kali安装nessus(Windows安装教程)step1.官网下载对应操作系统安装包https://www.tenable.com/downloads/nessus1.pngstep2.正常双击程序安装等到最后一步finish完成后等会自动跳转出一个注册页面,或者打开浏览器输入https://localh…

    2022年10月10日
  • pycharm设置快捷键_怎么使用F快捷键

    pycharm设置快捷键_怎么使用F快捷键全局搜索快捷键无反应原因:搜狗输入法占用的ctrl+shift+F快捷键,简繁切换的快捷键。在搜狗输入法中将此项取消。

  • ipfs矿机挖的是什么币(ipfs矿机19年一天收益)

    本文作者:火雷神算,如遇文章内容问题,请立即联系本人删除。感谢您的支持!很多人说,现在的FIL币价如此之低,还需要挖矿吗?火雷神算无法否认,ipf的价值在真正实现之前还有很长的路要走,但是对于ipfs,它只是缺少一个应用程序接口。随着FIL挖矿技术的发展,ipfs将在未来的网络应用道路上走得更快更远!虽然fil的价值下降现在影响到人们对fil矿挖矿预期收益的担忧,但对于那些长期看涨该矿的人来说,这是一个好时机,因为挖矿的成本和门槛也降低了。随着Filecoin网络的不断创新发展、稳..

  • UML类图—01

    UML类图—01

  • JVM调优工具的使用方法

    JVM调优工具的使用方法转自:https://www.iteye.com/blog/pengjiaheng-552456常用的JVM调优工具:Jconsole,jProfile,VisualVMJconsole:jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里JProfiler:商业软件,需要付费。功能强大。详细说明参考这里VisualVM:J…

  • bash组织成树数据结构

    bash组织成树数据结构

发表回复

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

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