java io基础(java.io)
首先流分为输入和输出流,java分为字节流和字符流
1.字节输入流io.InputStream
io.InputStream是一个抽象类它实现了Closeable接口的抽象类。那么它的子类(io包下)有ByteArrayInputStream,FileInputStream,FilterInputStream,PipedInputStream
ByteArrayInputStream是一个字节数组作为缓冲区。
FileInputStream主要用于文件,参见File类可以发现File对象不仅仅是某个文件,也可以是某个路径。
FilterInputStream 的作用是用来“封装其它的输入流,并为它们提供额外的功能”。它的常用的子类有BufferedInputStream和DataInputStream.那么这里的BufferedInputStream
的作用就是为“输入流提供缓冲功能,以及mark()和reset()功能”。
PipedInputStream主要用于多线程中的多条管道的切换。
2.字节输出流io.OutputStream同上
3.字符输入流io.Reader
4.字符输出流io.Writer
那么字符和字节流是否可以相互转化,答案是可以的。
InputStreamReader&OutputStreamWriter