字节流与字符流

字节流与字符流

使用File类只能实现文件本身的操作,但是与文件内容的操作无关,如果要想进行文件内容操作由以下两组流完成:

  • 字节流:InputStream、OutputStream
  • 字符流:Reader、Writer
    但是不管使用何种流,基本的操作流程是一样的,以文件操作为例:

  • 确定操作文件的路径;

  • 确定字节流或字符流的子类为字节流和字符流类对象实例化;
  • 进行输入、输出的操作;
  • 关闭流 流属于资源操作,资源操作完成一定要关闭。

字节输出流:OutputStream

java.io.OutputStream是可以进行字节数据(Byte)的输出,这个类的定义解构如下:

public abstract class OutputStream extends Object implements Closeable, Flushable

首先可以发现在OutputStream类之中实现了两个接口:

  • Closeable 关闭资源

    public void close() throws IOException

  • Flushable

    public void flush() throws IOException

从实际的开发来讲,对于Closeable和Flushable两个接口是属于后来再次抽象的产物,本身存在的意义不大。因为在OutputStream类里面已经存在close()和flush()两个方法。
在OutputStream里面有三个write()方法。

输出单个字节:public abstract write(int b) throws IOException;
输出全部字节:public void write(byte[] b) throws IOException
输出部分字节:public void write(byte[] b, int off, int len) throws IOException

但是OutputStream只是一个抽象类,无法实例化,所以可以使用FileOutputStream子类。这个类定义了两个常用构造方法:


  • 构造方法:

public FileOutputStream(File file) throws FileNotFoundException, 覆盖
public FileOutputStream(File file, boolean append) throws FileNotFoundException, 追加。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值