首页 > 编程语言 > 详细

JAVA——缓冲流(字符流的Write 方法)

时间:2020-09-02 19:28:03      阅读:49      评论:0      收藏:0      [点我收藏+]
package com.cskaoyan.io02.tranfer.writer;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;

/**
 * @author zhangshuai@Cskaoyan.onaliyun.com.
 * @version 1.0
 *
 * Writer写字符数据的方法:
 *
      public void write(int c)
          写入单个字符。要写入的字符包含在给定整数值的 16 个低位中,16 高位被忽略。

      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)
       向字符输出流中,写入一个字符串的一部分字符序列

      所有的字符流,自带(小)缓冲区,是在编解码的时候来使用的
      1. 所以,当我们向字符流写入少量数据的时候,数据有可能存在于自带的缓冲区中,还没有写入底层流
      2. 为了保证,即使是少量字符数据,也能及时将少量字符数据写入,底层字节流。
        a. close() 关闭此流,但要先刷新它
        b. flush() 刷新该流的缓冲
 */
public class Demo2 {

  public static void main(String[] args) throws IOException {

    String s = "你好, 女神";

      //1. 创建字符输出流对象
    FileOutputStream fos = new FileOutputStream("a.txt", true);
    Writer writer = new OutputStreamWriter(fos);


    //向文件中写入中文字符数据 public void write(int c)
    char[] chars = s.toCharArray();
    //for (int i = 0; i < chars.length; i++) {
    //  writer.write(chars[i]);
    //}

    //  public void write(char[] cbuf)
    //writer.write(chars);

    // public void write(char[] cbuf,int off,int len)
    //writer.write(chars, 0, chars.length);

    //public void write(String str)
    //writer.write(s);

    // public void write(String str,int off,int len)
    writer.write(s, 0, s.length());

    //关闭流  关闭包装流即可
    writer.close();


  }

}

  

 

JAVA——缓冲流(字符流的Write 方法)

原文:https://www.cnblogs.com/liuluyao/p/13602916.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!