java.io中定义了很多流类型,用来实现输入输出功能,从不同的角度来分类,可以分为:
按数据流的方向:输入流、输出流
按处理数据单位:字符流、字节流
按功能的不一样:节点流、处理流
其中分类站在程序的角度理解:@方向:从程序输出,叫输出流(output,write---写出去);进入程序,叫输入流(input,read---读进来)
@单位:字符流处理的单元是2个字节的unicode字符;字节流的处理单元是1个字节
@功能:节点流可以从特定的数据源上读取数据(文件,内存,管道);处理流是在存在的流的基础上扩展读写功能
常用节点流结构:
父类 InputStream OutputStream Reader Writer
文件 FileInputStream FileOutputStream FileReader FileWriter
内存(数组) ByteArrayInputStream ByteArrayOutputStream CharArrayReader CharArrayWriter
(字符串) 没有 没有 StringReader StringWriter
管道 PipedaInputStream PipedOutputStream PipedReader PipedWriter(进程间通信)
常用处理流结构:
父类 InputStream OutputStream Reader Writer
缓冲 BufferedInputStream BufferedOutputStream BufferedReader BufferdWriter
转换 InputStreamReader OutputStreamWriter ----------------------字节流到字符流的转换
数据 DataInputStream DataOutputSream
java.io结构: