java IO

对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务。而Java类库的设计者采用了装饰者模式来解决这个问题,即便如此,但Java的I/O类库还是如此之多,以至于我刚开始接触I/O时也是一脸懵逼。为了读取一个File还得层层嵌套。

1.输入输出.

  Java的输入输出都是以我们的Java程序为主体,从硬盘或内存读取数据到Java程序叫做输入,从程序写入硬盘或内存叫做输出。通过继承,任何自inputStream或Reader中派生而来的类都含有read()的基本方法,用于读取单个字节或者是字节数组。同样,任何自OutputStream或Writer中派生而来的类都含有write()的基本方法,用于将单个字节或者字节数组写入磁盘或内存。

2.字节流

 a.字节输入流inputStream

   InputStream是所有字节输入流的超类。作用是读取内存或磁盘上的内容到Java程序中,主要有read()读取一个字节,read(byte[] b)读取一个字节数组,read(byte[] b, int off, int len)从off开始读取len个字节到byte数组。

 b.字节输出流OutputStream

    OutputStream就是所有的字节输出流的超类。作用是将Java程序中的内容写出文件到内存或者磁盘,并且每次只操作文件的一个字节。从jdk文档了解到方法,

     write(int b)写入一个字节,write(byte[] b)写入字节数组到输出流,write(byte[] b, int off, int len)将byte数组中的从偏移量off开始写入len个字节到输出流中。

      close()方法,关闭此输出流并释放与此流有关的所有系统资源。

     flush()方法,刷新此输出流并写出此输出流中的所有字节


3. 字符流

   字符流主要是提供了兼容unicode和面向字符的I/O功能,只能读取和写入文本。

   a. 字符输入流

       字符输入流的超类是Reader。主要提供了以下:

        read()读取单个字符

        read(char[] c)读取到字符数组

        read(char[] c, int off, int len)将字符读入数组的某一部分

   b.字符输出流

       字符输出流的超类是Writer。主要提供了一下方法:

        write(int c)写入单个字符

        write(char[] c)写入字符数组

        write(char[] c, int off, int len)写入字符数组的某一部分

        write(String s)写入字符串

        write(String s, int off, int len)写入字符串的某一部分。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值