zoukankan      html  css  js  c++  java
  • java 21

    字符输出流:OutputStreamWriter

    构造方法:一共4个,说2个常用的

    A:OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流(eclise默认的是GBK编码表)

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

    A:OutputStreamWriter(OutputStream out):根据默认编码把字节流的数据转换为字符流

    1         OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(
    2                 "a.txt"));
    3         out.write("中国是我们de祖国");
    4         
    5         out.close();

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

    1         OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
    2                 "osw.txt"), "UTF-8"); // 指定UTF-8
    3         // 写数据
    4         osw.write("中国是我们的祖国");
    5 
    6         // 释放资源
    7         osw.close();

    字符输出流的方法:

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

    首先创建个字符输出流对象

    OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(
                    "osw.txt"));

    A* public void write(int c):写一个字符

    osw.write('a');//看到的是a
    osw.write(97);//这个看到的是W,因为这个是字符流,会根据编码表自动寻找值所对应的字符

    B* public void write(char[] cbuf):写一个字符数组

    1  char[] chs = {'a','b','c','d','e'};
    2          osw.write(chs);

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

    1 osw.write(chs,1,3);

    D* public void write(String str):写一个字符串

    osw.write("我爱睡觉");


    E* public void write(String str,int off,int len):写一个字符串的一部分

    osw.write("我爱睡觉", 2, 3);

    注意:字符流有个跟字节流不同的类似xxx.close()的方法:xxx.flush();

    那么,close()和flush()的区别呢:

    A:close()关闭流对象,但是先刷新一次缓冲区。关闭之后,流对象不可以继续再使用了。
    B:flush()仅仅刷新缓冲区,刷新之后,流对象还可以继续使用。flush方法是当你想把BufferedOutStream中的数据立即输出时,就调用。 

    也就是说,close()只能在流的结尾使用,因为一使用了,流对象就没了

    而,flush()可以在途中使用,因为它仅仅是刷新作用

    何事都只需坚持.. 难? 维熟尔。 LZL的自学历程...只需坚持
  • 相关阅读:
    717. 1比特与2比特字符
    697. 数组的度
    674. 最长连续递增序列
    665. 非递减数列
    661. 图片平滑器
    643. 子数组最大平均数 I
    plink计算两个SNP位点的连锁不平衡值(LD)
    GWAS群体分层校正,该选用多少个PCA
    PyCharm的安装和应用
    GWAS后续分析:多基因风险评分(Polygenic Risk Score)的计算
  • 原文地址:https://www.cnblogs.com/LZL-student/p/5926078.html
Copyright © 2011-2022 走看看