字符留和字节流的总结

字符流的特点:
所有文件的存储都是字节的存储,我们日常在磁盘上保存的其实并不是文件的字符,而是先把字符转换成字节,再把这些字节储存到磁盘。在读取文件时,也是一个字节一个字节的读取,然后生成字节的序列
数据最常见的体现形式是:文件文本文件以字符形式存在,读取(写入)文件需要用到字符流
*****************************************************************
字符流写操作:
用于操作操作文件的Writer的子类FileWriter,后缀名是父类名。前缀名是该流对象的功能。操作步骤:1.创建一个FileWriter对象。该对象一被初始化就必须明确要被操作的文件,该文件会被创建到指定目录下,如果该目录下已经有同名文件,将被覆盖FileWriter fw=new FileWriter("demo.txt");2.调用write方法,将字符串写入到流中。fw.write();3.刷新流对象中的缓冲中的数据,将数据刷到目的地fw.flush();4.关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据,将数据刷到目的地中。和flush的区别,flush刷新后,流可以继续使用,close刷新后将会将流关闭。fw.close();
*****************************************************************
字符流读操作:
 
1.创建一个FileReader对象。文件读取流对象,和指定名称的文件相关联,要保证该文件是已经存在的,如果不存在会发生异常
FileReader fr=new FileReader("demo.txt");
2.调用读取流的对象的read方法
    (1)int ch=fr.read();一次读一个字符,会自动往下读。
    (2)读出所有字符 
     while((ch=fr.read())!=-1)
    {
        System.out.println((char)ch);
     }

3.关闭流资源,
fr.close();
 
*****************************************************************

 
字节流特点:
字节流是由字节组成的,字符流是由字符组成的. Java里字符由两个字节组成.字节流是最基本的,所有的InputStream和OutputStream的子类都是,主要用在处理二进制数据。
InputStream 读
Outputstream 写
*****************************************************************
字节流写入
FileOutputStream fos=new FileOutputStream ("a.txt");
byte[] buf="Heima go go".getBytes();//定义一个刚刚好的缓冲区,不用再循环了
fos.write(buf);
fos.close();
*****************************************************************
字节流读取
FileInputStream fis=new FileInputStream ("a.txt");byte[] buf=new byte[fis].available(0)];//定义一个刚刚好的缓冲区,不用再循环了fis.read(buf);System.out.println(new String(buf));fis.close();
*****************************************************************


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值