输入流:
InputStream字节流
Reader 字符流

输出流:
OutputStream 字节流
Writer 字符流

输入和输出 都是站在程序的角度上看的。


关于节点流和处理流:

节点流:可以为一个特定的数据源(节点)读写数据(如:文件,内存)

处理流:“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。

俗话说:处理流就是套在其他流上面的流形式。
起一个过滤的功能。
 
遇到的问题:
        in = new FileInputStream("");//这个是复制路径
        out = new FileOutputStream("");//这个是目标路径

在这两个对象中: in, out, 关闭的时候也要捕获IOException异常

这个注意。

        try
        {
        in.close();
        out.close();
        }
        catch(IOException e)
        {
            System.out.println("文件关闭错误");
            System.exit(-1);
        }
关于处理流:
BufferReader
BufferWriter

这两个类为处理流节点,

BufferedReader(Reader in)   创建一个使用默认大小输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz)       创建一个使用指定大小输入缓冲区的缓冲字符输入流。

BufferInputStream
BufferOutputStream
这两个与上面的相关:

通俗的讲:
都是嵌套在原始管道上的高级管道:
可以更为方便的操作和使用数据。