IO常用流的功能及特性:输入流inputStream:只能从中读取字节数据,而不能向其写出数据 输出流OutputStream:只能向其写入字节数据,而不能从中读取数据 输入流inputStream: 1. dataOutputStream创建一个新的数据输出流,将数据写入指定基础输出流。 2. printStream是一个字节打印流 3. bufferedOutputStream:实现缓冲。 4. FileOutputStream是用于将数据写入 File 或 FileDescriptor 的输出流,是用于写入诸如图像数据之类的原始字节的流。 5. ObjectOutputStream;用于读取(重构)对象。 6. pipedOutputStream创建尚未连接到管道输入流的管道输出流。 7. byteArrayOutputStream实现了一个输出流,其中的数据被写入一个 byte 数组。 输出流OutputStream: 1. pushBackInputStream为另一个输入流添加性能, 2. BufferedInputStream为另一个输入流添加一些功能 3. lineNumberInputStream是一个输入流过滤器,它提供跟踪当前行号的附加功能 4. FileInputStream负责从文件或另一些更特殊的地方读入字节数据。 5. ObjectInputStream对以前使用 ObjectOutputStream 写入的基本数据和对象进行反序列化。 7. SequenceInputStream表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。 8. StringBufferInputStream创建一个字符串输入流 9. ByteArrayInputStream创建一个涵内部缓冲区的流 Reader:用于读取字符流的抽象类。子类必须实现的方法只有 read(char[], int, int) 和 close()。 1.FileReader用于处理文件的字符读取流对象。 2.LineNumberReader使用默认输入缓冲区的大小创建新的行编号 3.pushBackReader允许将字符推回到流的字符流 reader 4.PipedReader创建传送的字符输入流。 5.CharArrayReader实现一个可用作字符输入流的字符缓冲区 6.StringReader是一个字符串的字符流 7.InputStreamReader字节到字符的桥梁,可从底层输入流读取一个或多个字节 8.BufferedReader创建一个缓冲字符输入流 9.FilterReader用于读取已过滤的字符流的抽象类,提供一些将所有请求传递给所包含的流的默认方法 Writer写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。 1. FileWriter处理文件的字符写入流对象。 2. BufferedWriter将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。 3. CharArrayWriter实现一个可用作 Writer 的字符缓冲区 4. StringWriter一个可以用它回收在字符串缓冲区中的输出来构造字符串的字符流。 关闭 StringWriter 无效。此类中的方法在关闭该流后仍可被调用,而不会产生任何 IOException。 5. OutputStreamWriter字符到字节的桥梁。 6. PrintWriter负责将字节“组装”成更有用的数据类型。 7. PipedWriter传送的字符输出流。创建一个尚未连接到传送 reader 的传送 writer。 8. FilterWriter用于写入已过滤的字符流的抽象类。 序列流,也称为合并流——SequenceInputStream:特点:可以将多个读取流合并成一个流。这样操作起来很方便。 原理:其实就是将每一个读取流对象存储到一个集合中。最后一个流对象结尾作为这个流的结尾。 作用:可以用于多个数据的合并。 |
|