字节流的抽象基类:InputStream,OutputStream.
输出流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)
将指定的字节写入此输出流。
读取流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子类:
FileOutputStream
BufferedOutputStream
InputStream的子类:
FileInputStream
BufferedInputStream
转换流:
java.io.InputStreamReader:是字节流通向字符流的桥梁:
InputStreamReader 是字节流通向字符流的桥梁:它使用指定的
charset 读取字节并将其解码为字符。它使用的字符集可以由名
称指定或显式给定,或者可以接受平台默认的字符集
InputStreamReader(InputStream in)
创建一个使用默认字符集的 InputStreamReader。
InputStreamReader(InputStream in, Charset cs)
创建使用给定字符集的 InputStreamReader。
InputStreamReader(InputStream in, CharsetDecoder dec)
创建使用给定字符集解码器的 InputStreamReader。
*InputStreamReader(InputStream in, String charsetName)
创建使用指定字符集的 InputStreamReader。
OutputStreamWriter 是字符流通向字节流的桥梁:
可使用指定的 charset 将要写入流中的字符编码成字节。
它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
OutputStreamWriter(OutputStream out)
创建使用默认字符编码的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, Charset cs)
创建使用给定字符集的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
创建使用给定字符集编码器的 OutputStreamWriter。
OutputStreamWriter(OutputStream out, String charsetName)
创建使用指定字符集的 OutputStreamWriter。
流操作的基本规律:
明确:
1、明确源和目的。
2、操作的数据是不是纯文本。
3、体系明确后,明确使用哪个具体对象
源设备:内存,硬盘,键盘
目的设备:内存,硬盘,控制台、
想把中文按照指定的字符集读写:
InputStreamReader(InputStream in, String charsetName)
创建使用指定字符集的 InputStreamReader。
OutputStreamWriter(OutputStream out, String charsetName)
创建使用指定字符集的 OutputStreamWriter。
可以改变标准的输入输出流使用:java.lang.System
static void setErr(PrintStream err)
重新分配“标准”错误输出流。
static void setIn(InputStream in) |
|