JAVA-字符流

字符流:

  • 字符输出流:Writer,对文件的操作使用子类:FileWriter
  • 字符输入流:Reader,对文件的操作使用子类:FileReader
  • 每次操作单位是一个字符
  • 文件字符操作流会自带缓存,默认大小为1024字节,在缓存满后,或手动刷新缓存,或关闭流时会把数据写入文件
  • 如何选择使用字节流还是字符流:
  • 一般操作非文本文件时,使用字节流,操作文本文件时,建议使用字符流
  • 字节流的内部实现还是字节流

示例

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;

public class CharStreamDemo {

    public static void main(String[] args) {
        out();
        in();

    }
//字符输出流
    public static void out() {
        //确定目标文件
        File file=new File("/Users/a10.11.5/test/123.txt");     
        try {
            //构建文件输出流
            Writer out=new FileWriter(file,true);
            //输出内容
            out.write(",村花到我家");
            //结束流
            out.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
//字符输入流
    public static void in() {
        //确定目标文件
        File file=new File("/Users/a10.11.5/test/123.txt");     
        try {
            //创建文件入流
            Reader in =new FileReader(file);
            char[]cs=new char[1];
            int len = -1;
            StringBuilder buf=new StringBuilder();
            while ((len=in.read(cs))!=-1) {
                buf.append(cs,0,len);
            }
            System.out.println(buf);
            //结束流
            in.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_33810302/article/details/90985276
今日推荐