Android基础 IO流
IO 按照不同类型来分,可以分为: 1.输入/输出流 2.字节流/字符流 3.节点流/处理流
I/O流汇总
InputStream/Reader输入流
InputStream是字节输入流的抽象基类,其中有三个重要方法:
int read()
int read(byte[] b)
int read(byte[] b , int off ,int len)
都是将内容以字节(byte)的形式读取到输入流中。
Read是字符输入流的抽象基类,其中有三个重要方法:
int read()
int read(char[] b)
int read(char[] b , int off ,int len)
都是将内容以字符(char)的形式读取到输入流中。
OutputStream/Writer输入流
两个流都是从输出流写出数据到文件中,提供了如下三个方法:
1.void write(byte[]/char[] b) 2.void write(byte[]/char[] b, int off, int len) 3.void write(int b)
因为字符流直接以字符作为操作单位, 所以Writer可以用字符串来代替字符数组(以String对象作为参数). Writer还包含如下方法:
1.void write(String str)
2.void write(String str, int off, int len)
3.Writer append(char c)
4.Writer append(CharSequence csq)
5.Writer append(CharSequence csq, int start, int end)
节点流/处理流
节点流的的构造参数是物理IO节点,而处理流的构造参数是已经存在的流.
常用节点流
InputStream OutputStream Reader Writer
文件 FileInputStream FileOutputStream FileReader FileWriter
数组 ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
字符串 StringReader StringWriter
管道 PipedInputStream PipedOutputStream PipedReader PipedWriter
常用处理流
InputStream OutputStream Reader Writer
缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
转换流 InputStreamReader OutputStreamWriter
数据流 DataInputStream DataOutputStream
合并流 SequenceInputStream
回退流 PushbackInputStream PushbackReader
打印流 PrintStream PrintWriter
在使用处理流包装了节点流之后, 关闭输入/输出流资源时, 只要关闭最上层的处理流即可.关闭最上层的处理流时, 系统会自动关闭该处理流包装的节点流.