JAVA中字符流详解

字符流:就是在字节流的基础上,加上编码,形成的数据流

字符流出现的意义:因为字节流在操作字符时,可能会有中文导致的乱码,所以由字节流引申出了字符流。

字符输入流:Reader

常用子类:FileReader

文件字符输入流常用方法:

read();

read(char[ ]);

read(char[ ] ,offset,len);

字符输出流: Writer

常用子类:文件字符输出流: Filewriter

文件字符输出常用方法:

writer();

writer(char[ ]);

writer(char[ ],offset,len);

writer(string);

flush()刷新缓冲区

注意:close()方法默认调用了flush()方法,但是flush()方法只刷新缓冲区,而close()还会关闭IO流

字符输入流代码示例:

复制代码

 import java.io.File;
  import java.io.FileReader;
  import java.io.IOException;
  
  public class Demo5 {
  
      public static void main(String[] args) throws IOException{
          FileReader fr=new FileReader(new File("1.txt"));
          char[] ca=new char[1024];
         int count=0;
         while((count=fr.read(ca))!=-1) {
             System.out.println(new String(ca,0,count));
         }
     }
 }

复制代码
运行结果:
在这里插入图片描述
字符输出流代码示例:

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo6 {

    public static void main(String[] args) throws IOException{
        FileReader fr=new FileReader(new File("1.txt"));
        FileWriter fw=new FileWriter(new File("2.txt"));
        char[] ca=new char[1024];
        int count;
        while((count=fr.read(ca))!=-1) {
            fw.write(ca,0,count);
        }
        fr.close();
        fw.close();
    }
}

执行结果:
在这里插入图片描述
字符流与字节流的区别:字符流虽然以字节流为基础创建的,但是字节流可以支持声音,视频,图片,文本等所有文件类型,而字符流只支持文本文件。

带缓冲区的字符流:

BufferedReader/BufferedWriter 带缓冲区的字符输入流与字符输出流。

带缓冲区的字符输入流:BufferedReader:常用方法:readLine() 读取一行,如果为文件末尾,返回值为null。

带缓冲区的字符输出流:BufferedWriter:常用方法:writer(string)将字符串写入 到输出流。 newLine()根据系统的行分割符进行换行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值