A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张斯佳 中级黑马   /  2018-10-11 09:29  /  390 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、IO流概述
(1)用来处理设备(硬盘,控制台,内存)间的数据。
(2)java中对数据的操作都是通过流的方式。
(3)java用于操作流的类都在io包中。
(4)按照流操作的数据的类型不同:分为字节流和字符流。字符流是为了方便中文的操作而来的。
(5)按照流的流向不同分为:输入流,输出流
2、IO流常用基类:
(1)字节流
输出字节流:OutputStream:字节写入流抽象类
|--->FileOutputStream:
字节写入流
|--->BufferedOutputStream:
字节写入流缓冲区
|--->PrintStream:
打印流
输入字节流:InputStream:字节读取流抽象类
|--->FileInputStream:
字节读取流
|--->BufferedInputStream:
字节读取流缓冲区
(2)字符流
输出字符流:Writer:字符写入流的抽象
|--->FileWriter:
字符写入流
|--->BufferedWriter:
字符写入流缓冲区
|--->OutputStreamWriter:
字符通向字节的转换流(涉及键盘录入时用)
|--->OutputStreamWriter:
打印流,可处理各种类型的数据
输入字符流:Reader: 字符读取流的抽象类
|--->FileReader:
字符读取流
|--->LineNumberReader:
跟踪行号的缓冲字符读取流
|--->BufferedReader:
字符读取流缓冲区
|--->InputStreamReader:
字节通向字符的转换流(涉及键盘录入时用)
(3)IO流常用基类方法摘要:
**字节写入流:OutputStream:
void close() 关闭此输出流并释放与此流有关的所有系统资源。
void flush()刷新此输出流并强制写出所有缓冲的输出字节。
abstract void write(int b) 将指定的字节写入此输出流。
void write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
**字节读取流:InputStream:
void close() 关闭此输入流并释放与该流关联的所有系统资源。
int available() (特有方法!!)
返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。
abstract int read() 从输入流中读取数据的下一个字节。
int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
long skip(long n) 跳过和丢弃此输入流中数据的 n 个字节。
**字符写入流:Writer:
abstract void close() 关闭此流,但要先刷新它。
abstract void flush() 刷新该流的缓冲。
void write(int c) 写入单个字符。
void write(char[] cbuf) 写入字符数组。
abstract void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
void write(String str) 写入字符串。
void write(String str, int off, int len) 写入字符串的某一部分。
**字符读取流:Reader
abstract void close()
关闭该流并释放与之关联的所有资源。
int read()
读取单个字符。
int read(char[] cbuf)
将字符读入数组
abstract int read(char[] cbuf, int off, int len)
将字符读入数组的某一部分。
long skip(long n)
跳过字符。



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马