outputstreamwriter用法_floating power object

outputstreamwriter用法_floating power object写这个类的原因,网上有很多介绍这两个类的,InputStreamReader类的使用,没有任何异议,而OutputStreamWriter,看了网的帖子和博客说的都不是很清楚,所以小皮虾好好研究了一下OutputStreamWriter类,所以下面的总结有不对之处,欢迎指正!api类中解释:InputStreamReader是字节流通向字符流的桥梁,将字节流转换为字符流

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

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

写这个类的原因,网上有很多介绍这两个类的,InputStreamReader类的使用,没有任何异议,而OutputStreamWriter,看了网的帖子和博客说的都不是很清楚,所以小皮虾好好研究了一下OutputStreamWriter类,所以下面的总结有不对之处,欢迎指正!
api类中解释:
InputStreamReader 是字节流通向字符流的桥梁, 将字节流转换为字符流
OutputStreamWriter 是字符流通向字节流的桥梁,将字符流转换为字节流
一 、InputStreamReader类
1.引入InputStreamReader类
作用:它可以使用指定的charset 读取字节并将其解码为字符
其构造函数如下:
InputStreamReader (InputStream in)
创建一个使用默认字符集的 InputStreamReader。
InputStreamReader (InputStream in, Charset cs)
创建使用给定字符集的 InputStreamReader。
InputStreamReader (InputStream in, CharsetDecoder dec)
创建使用给定字符集解码器的 InputStreamReader。
InputStreamReader (InputStream in, String charsetName)
创建使用指定字符集的 InputStreamReader。
2.举例说明如下:
使用起来无异议,很容易明白,使用实例如下:
为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

eg:class TransStreamDemo{
   public static void main(String[] args){
      //因为system中的in方法是system的静态方法public static final InputStream in
     // 所以可以向上转换为InputStream父类
     InputStream in = System.in;//读取键盘的输入
     //传入对象为in,将字节流转换为字符流Reader的对象isr
     InputStreamReader isr = new InputStreamReader(in);
     //System.in就读取一个字符。为了能一次读取一行使用者的输入,使用了BufferedReader来对使用者输入的字符进行缓冲。readLine() 
     //方法会在读取到使用者的换行字符时,再一次将整行字符串传入,所以使用BufferedReader类,可以提高读取字符的效率
       BufferdReader bufr =new BufferedReader(isr);
       String line = null;
       while((line = bufr.readline())!=null){

           System.out.println(line.toUpperCase);
       }
       bufr.close;
   }
}                   

二、 OutputStreamWriter类
1.引入OutputStreamWriter类
作用:可使用指定的charset 将要写入流中的字符编码成字节
其构造函数如下:
OutputStreamWriter(OutputStream out)
创建使用默认字符编码的 OutputStreamWriter。 OutputStreamWriter(OutputStream out,Charset cs)
创建使用给定字符集的 OutputStreamWriter。 OutputStreamWriter(OutputStream out,CharsetEncoder enc)
创建使用给定字符集编码器的 OutputStreamWriter。 OutputStreamWriter(OutputStream out,String charsetName)
创建使用指定字符集的 OutputStreamWriter。
2.举例说明如下:

eg:public static void transWriteByBuf() throws IOException {  
   //因为system中的in方法是system的静态方法public static final InputStream in
   // 所以可以向上转换为InputStream父类
   InputStream in = System.in;//读取键盘的输入
   //传入对象为in,将字节流转换为字符流Reader的对象isr
   InputStreamReader isr = new InputStreamReader(in);
   //System.in就读取一个字符。为了能一次读取一行使用者的输入,使用了 BufferedReader来对使用者输入的字符进行缓冲。readLine() 
   //方法会在读取到使用者的换行字符时,再一次将整行字符串传入,所以使用BufferedReader类,可以提高读取字符的效率
   BufferdReader bufr =new BufferedReader(isr);
   //将字符流转换为字节流
   // 因为system中的in方法是system的静态方法public static final OutputStream in,所以可以向上转换为OutputStream父类
   OutputStream out = System.out;//打印到控制台。 
   OutputStreamWriter osr = new OutputStreamWriter(out);//输出 
   BufferedWriter bufw = new BufferedWriter(osr);//缓冲 
   String line = null;
   while((line = bufr.readline())!=null)
   {
    //这个语句很重要,是把读到字符流写到osr字符流转换对象中,转换成字节流打印到控制台因为这是一个写的过程,与InputStreamReader 类相反,所以这个地方如果理解透了,也就真正的理解了OutputStreamWriter 类,而不是网上很多说的OutputStreamWriter 是 将字节流转换为字符流,所以api的解释一般是不会错,有时候是我们自己没有真的的理解。
       bufw.write(line);
       bufw.newline();
       bufw.flush();
       }
       bufr.close;

 }

“`

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

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

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


相关推荐

  • C语言 数组倒序输出数字「建议收藏」

    C语言 数组倒序输出数字「建议收藏」引用一维数组元素对10个数组元素依次赋值为1,2,3,4,5,6,7,8,9,10要求按逆序输出#include<stdio.h>intmain(){ inti,a[10]; for(i=0;i<10;i++) a[i]=i; for(i=10;i>0;i–) printf(“%d\n”,i); return0;}小剧场:不能随波逐流。Don’tgowiththeflow….

    2022年7月22日
    10
  • net use * /del_想打开文件但显示遇到问题需要关闭

    net use * /del_想打开文件但显示遇到问题需要关闭近日公司电脑大面积瘫痪,杀毒软件不停弹出提示有病毒被查杀,并且经常弹出提示:GenericHostProcessforWin32Services遇到问题需要关闭,server和workstation服务自动停止,客户端连不上域。一下被搞的手忙脚乱,几经周折才查出原因,打了补丁后问题解决。表现  在开机后可能会出现多次“GenericHostProcessforW

    2022年10月12日
    0
  • java的输入和输出语句_c++输入输出语句

    java的输入和输出语句_c++输入输出语句输入语句:psvm输出语句:sout

    2022年9月2日
    3
  • 虚拟机vmware workstation安装_linux安装出现dracut

    虚拟机vmware workstation安装_linux安装出现dracut在VMwareWorkstation中安装了RedFlagLinuxDesktop觉得界面以及操作与Windows没什么两样。那末他的优点在哪里呢?我为什么要放弃用了几年的MSWindows来使用这个系统呢? 转载于:https://blog.51cto.com/89000/11249…

    2022年8月20日
    4
  • 卷积 bn_卷积积分实验

    卷积 bn_卷积积分实验1.为什么要合并BN层在训练深度网络模型时,BN(BatchNormalization)层能够加速网络收敛,并且能够控制过拟合,一般放在卷积层之后。BN层将数据归一化后,能够有效解决梯度消失与梯度爆炸问题。虽然BN层在训练时起到了积极作用,然而,在网络前向推断时多了一些层的运算,影响了模型的性能,且占用了更多的内存或者显存空间。目前,很多先进的网络模型(ResNet,MobileN…

    2022年10月14日
    0
  • 18 games for android,Kids games for toddlers「建议收藏」

    18 games for android,Kids games for toddlers「建议收藏」Kidsgamesfortoddlers介绍Kidsgamesfortoddlers-Educationalgamefor2–4yearsoldtoddlersandkids-Sortandclassifyobjectsbyshape,size,colorandquantity-Developedinclosecooperation…

    2022年10月22日
    0

发表回复

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

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