.   概念

流动,从一端流向另一端,源头与目的地

以程序为中心,程序与 数组/文件/网络连接/数据库,

.   io流分类

  1. 流向:输入流与输出流
  2. 数据 :字节楼:二进制,所有文件都可以操作,包括纯文本,doc,音频,视频

字符流:文本文件,只能处理纯文本

  1. 功能:节点:包裹源头

处理:增强功能,提供性能

.   字符流与字节流与文件

  1.字节流

    输入流InputStream

    方法

int

available() 
          返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。

void

close() 
          关闭此输入流并释放与该流关联的所有系统资源。

void

mark(int readlimit) 
          在此输入流中标记当前的位置。

boolean

markSupported() 
          测试此输入流是否支持 mark 和 reset 方法。

abstract  int

read() 
          从输入流中读取数据的下一个字节。

int

read(byte[] b) 
          从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。

int

read(byte[] b, int off,
int len) 
          将输入流中最多 len 个数据字节读入 byte 数组。

void

reset() 
          将此流重新定位到最后一次对此输入流调用 mark 方法时的位置。

long

skip(long n) 
          跳过和丢弃此输入流中数据的 n 个字节。

    输出流OutputStream 

void

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

void

flush()
          刷新此输出流并强制写出所有缓冲的输出字节。

void

write(byte[] b)
          将 b.length 个字节从指定的 byte 数组写入此输出流。

void

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

abstract  void

write(int b)
          将指定的字节写入此输出流。

   2.字符流

    输入流Reader

abstract  void close()
          关闭该流并释放与之关联的所有资源。
 void mark(int readAheadLimit)

          标记流中的当前位置。
 boolean markSupported()

          判断此流是否支持 mark() 操作。
 int read()

          读取单个字符。
 int read(char[] cbuf)

          将字符读入数组。
abstract
 int
read(char[] cbuf,
int off, int len)

          将字符读入数组的某一部分。
 int read(CharBuffer target)

          试图将字符读入指定的字符缓冲区。
 boolean ready()

          判断是否准备读取此流。
 void reset()

          重置该流。
 long skip(long n)

          跳过字符。

    输出流Writer

 Writer append(char c)
          将指定字符添加到此 writer。
 Writer append(CharSequence csq)

          将指定字符序列添加到此 writer。
 Writer append(CharSequence csq, int start,
int end)

          将指定字符序列的子序列添加到此
writer.Appendable
abstract
 void
close()

          关闭此流,但要先刷新它。
abstract
 void
flush()

          刷新该流的缓冲。
 void write(char[] cbuf)

          写入字符数组。
abstract
 void
write(char[] cbuf,
int off, int len)

          写入字符数组的某一部分。
 void write(int c)

          写入单个字符。
 void write(String str)

          写入字符串。
 void write(String str,
int off, int len)

          写入字符串的某一部分。

Java_IO流_抽象类的更多相关文章

  1. C#中的流_字节_字符_字符串之间的相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  2. java ->IO流_字符流

    字符流 经过前面的学习,我们基本掌握的文件的读写操作,在操作过程中字节流可以操作所有数据,可是当我们操作的文件中有中文字符,并且需要对中文字符做出处理时怎么办呢? 字节流读取字符的问题 通过以下程序读 ...

  3. java_IO流之 NIO

    NIO 定义 即新IO,在JDK1.4的java.nio.*包中引入,其目的在于提高速度. 在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生 ...

  4. java_IO流

    IO流概述及分类 Reader  InputStream  OutputStream  Writer都是Object的直接子类 字节流: 字节输入流 InputStream(抽象类) |---File ...

  5. Java_IO流输入输出

    第三章 输入输出 一.I/O Input/Output 二.File 用途:对文件和目录进行常规操作(除文件读写操作外). 方法:exists():判断文件或目录是否存在 isFile():判断是否是 ...

  6. 关于IO流的抽象类

    被一个问题问愣了:java的IO里有哪些抽象类?这个一时半会儿还真记不得,只知道IO有好几类,具体有哪些抽象类从来没有去认真记过.回头仔细看了下分类和继承才发现其实就两对:字节流的抽象类是InputS ...

  7. java_IO流(输入流)

    * 字节输入流(InputStream):所有字节输入流的父类 * 所有子类共性方法: * int read():从输入流中读取数据的下一个字节 * int read(byte[] b):从输入流中拂 ...

  8. java-继承进阶_抽象类_接口

    概要图 一, 继承的进阶 1.1,成员变量 重点明确原理. 特殊情况: 子父类中定义了一模一样的成员变量. 都存在于子类对象中. 如何在子类中直接访问同名的父类中的变量呢? 通过关键字 super来完 ...

  9. java ->IO流_字节流

    字节流 在前面的学习过程中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据.现在我们就要开始给文件中写数据,或者读取文件中的数据. 字节输出流OutputStream OutputStre ...

随机推荐

  1. openGL-计算机图形大作业中出现的几个错误及解决

    错误一 错误现象:按动相应按键i和o无法在x轴和y轴移动camera,但按相应按键p可以在z轴移动camera. 错误原因:为了移动camera,设置了三个全局变量x.y.z,用于gluLookAt( ...

  2. windows下安装nodejs以及python2502,2503解决方案

    1. 2053和2052为什么会出现出现这个提示的时候,是在程序安装步骤 到达copy new file的时候 进入下一步进行报错,可以推测出应该是软件包在安装的时候,解压缩部署核心文件的时候出错. ...

  3. 网易云通过KCSP认证,云原生技术实力再获认可

    近日,网易云通过KCSP认证,正式成为CNCF官方认可的Kubernetes服务提供商,也标志着网易云在云原生领域的技术实力得到了业界认可. Kubernetes是第一个从CNCF毕业的开源项目,凭借 ...

  4. Hadoop 倒排索引

    倒排索引是文档检索系统中最常用的数据结构,被广泛地应用于全文搜索引擎.它主要是用来存储某个单词(或词组)在一个文档或一组文档中存储位置的映射,即提供了一种根据内容来查找文档的方式.由于不是根据文档来确 ...

  5. C 单向链表就地逆转

    1.问题描述 给定一个单链表L,设计函数Reverse将L就地逆转.即不需要申请新的节点,将第一个节点转换为最后一个结点,第二个节点转换为倒数第二个结点,以此类推. 2.思路分析 循环处理整个链表.将 ...

  6. 在react中使用less(官方做法)

    概述 在用create-react-app搭建react app的时候,原生并不支持less,只支持css.不过create-react-app官方给了一种方法使用less,我觉得很有用,记录下来,供 ...

  7. Spring详解(七)------AOP 注解

    上一篇博客我们讲解了 AspectJ 框架如何实现 AOP,然后具体的实现方式我们是通过 xml 来进行配置的.xml 方式思路清晰,便于理解,但是书写过于麻烦.这篇博客我们将用 注解 的方式来进行 ...

  8. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...

  9. Ubuntu双网卡设置内外网上网的问题

    UBUNTU16.04系统,双网卡:eth0, eth1.分贝设置成Public IP, 和局域网IP, 这样这台计算机就可以访问局域网内的各个IP, 同时还可以在全球各地被访问,使用ssh or r ...

  10. JavaScript中的注释问题详解? 部分3

    注释:解释代码的含义,浏览器中不执行. 方便其他程序员了解代码 ,也可以注释自己不需要的代码(开发过程中)! 1. 单行注释 // 用于一行代码上面 2.多行注释 /* */ 用于一段代码上面 或者是 ...