JAVA流的问题

BufferedOutputStream
BufferedWriter
DataOutputStream
File
FileOutputStream
FileWriter
ObjectOutputStream
OutputStreamWriter

这些应该在什么时候用呢?搞不清楚

对java语言有学入的理解,如面向对象基础、异常处理、io、xml、jdbc、线程、socket
io流:所使用的模式是装饰,特点是通过构造子将一个实例注入到另一个实例中,可以将多个实例的功能随意组合。
装饰模式:将抽象接口聚集到抽象装饰,即将本源/装饰注入到另一个装饰中,这个装饰可以直接调用注入对象的方法。
角色如下:
抽象接口、本源、抽象装饰、具体装饰
1、什么是输入,什么是输出
从文件到内存,通用的方法是read,readLine
从内存到文件,通用的方法是write,writeln,print,println
2、字节流:主要处理字节文件,如jpg,image,doc,xls,数据库
输入流:InputStream FileInputStream InputFilterStream BufferedInputStream ObjectInputStream(序列化)
输出流:OutputStream FileOutputStream OutputFilterStream BufferedOutputStream ObjectOutputStream PrintStream
PrintStream:是一个高层流,System.out.println(),e.printStackTrace()都是其实例。
其可以输出字节流也可以输出字符流。
3、字符流:读取的是字符
1、输入:Reader FileReader InputStreamReader(将输入字节流转化为字符流) BufferedReader
2、输出:Writer FileWriter OutputStreamWriter(将输出字节流转化为字符流) BufferedWriter PrintWriter
3、BufferedWriter PrintWriter:若属于字符流,要想保存在文件中必须关闭或刷新
PrintWriter:若属于字节流,要想保存在文件中不用flush或close
温馨提示:答案为网友推荐,仅供参考
相似回答