Java_IO流_抽象类
一. 概念
流动,从一端流向另一端,源头与目的地
以程序为中心,程序与 数组/文件/网络连接/数据库,
二. io流分类
- 流向:输入流与输出流
- 数据 :字节楼:二进制,所有文件都可以操作,包括纯文本,doc,音频,视频
字符流:文本文件,只能处理纯文本
- 功能:节点:包裹源头
处理:增强功能,提供性能
三. 字符流与字节流与文件
1.字节流
输入流InputStream
方法
int |
available() |
void |
close() |
void |
mark(int readlimit) |
boolean |
markSupported() |
abstract int |
read() |
int |
read(byte[] b) |
int |
read(byte[] b, int off,
int len) |
void |
reset() |
long |
skip(long n) |
输出流OutputStream
void |
close() |
void |
flush() |
void |
write(byte[] b) |
void |
write(byte[] b, int off, int 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) 写入字符串的某一部分。 |