Java中IO流的总结 流分类 四种文件流(节点流) 四种缓冲流(处理流) 对象流(处理流) 转换流(字符流) 内存流 打印流(处理流输出流) 标准流(节点流)
有关Java中IO流总结图
按方向分
输入流
输出流
按单位分
字节流
字符流
按功能分
节点流
处理流(过滤流)
其他
- 所有的流继承与这四类流:InputSteam、OutputStream、Writer、Reader
2.带有Writer和Reader的流均为字符流,没有的都为字节流
四种文件流(节点流)
字节流
FileInputStream
FileOutputStream
字符流
FileReader
FileWriter
四种缓冲流(处理流)
字节流
BufferedInputStream
BufferedOutputStream
字符流
BufferedReader【新增readLine()】
BufferedWriter【新增newLine()】
对象流(处理流)
输入流字节流处理流:ObjectInputStream
输出流字节流处理流:ObjectOutputStream
转换流(字符流)
InputStreamReader
1- 是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。
2-InputStreamReader需要和InputStream“套接”,它可以将字节流中读入的字节解码成字符
OutputStreamWriter
1-是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变为字节流的输出对象。
2- OutputStreamWriter需要和OutputStream“套接”,它可以将要写入字节流的字符编码成字节
内存流
内存流主要用来操作内存
ByteArrayInputStream: 主要完成将内容从内存读入程序之中
ByteArrayOutputStream:主要是将数据写入到内存中。
输入和输入可以把文件作为数据源,也可以把内存作为数据源。
打印流(处理流输出流)
打印流分类
字节打印流PrintStream
字符打印流PrintWriter
构造方法
PrintStream(OutputStream out)
PrintStream(OutputStream out, boolean autoFlush自动刷新)
PrintWriter(Writer out)
PrintWriter(Writer out, boolean autoFlush)
PrintWriter(OutputStream out)
PrintWriter(OutputStream out, boolean autoFlush)
打印输出位置
【控制台】 看构造方法中参数的类型 : 若是System.out—–>打印在控制台上
【文件中 】 看构造方法中参数类型:若是文件—->打印在指定文件中
标准流(节点流)
标准输入流System.in:读取控制台 用户输入的内容
标准输出流System.out:往控制台输出内容
标准错误流System.err: 往控制台输出内容,区别是字体是红色的
重新定向
System.setIn(参数)
System.setOut(参数)
System.setErr(参数)