目录:系统学习 Java IO---- 目录,概览 PushbackInputStream 旨在从 InputStream 解析数据时使用. 有时您需要先读取几个字节以查看将要发生的事情,然后才能确定如何解释当前字节, PushbackInputStream 允许这样做. 实际上,它允许将读取的字节推回到流中,这样就像流没有被动过,下次调用 read() 时,将再次重新读取.通俗来讲,就像男人对女人(Stream)说:我只看看,不动手. 构造器 PushbackInputStream(Input…
目录:系统学习 Java IO---- 目录,概览 BufferedReader BufferedReader 类构造器接收一个 Reader 对象,为 Reader 实例提供缓冲. 缓冲可以加快 IO 的速度. BufferedReader 不是一次从网络或磁盘读取一个字符,而是一次读取一个更大的块. 这通常要快得多,特别是对于磁盘访问和更大的数据量. 类似于 BufferedInputStream ,主要区别在于 BufferedReader 读取字符(文本),而 BufferedInput…
目录:系统学习 Java IO---- 目录,概览 DataInputStream/DataOutputStream 允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型. 要想使用数据输出流和输入流,必须按指定的格式保存数据,才可以将数据输入流将数据读取进来,所以通常使用 DataInputStream 来读取 DataOutputStream 写入的数据. DataInputStream 类能够从 InputStream 中读取 Java 基本类型(int,float,lo…
目录:系统学习 Java IO---- 目录,概览 Java IO目的和功能 Java IO 包含 InputStream,OutputStream,Reader 和 Writer 类的许多子类. 原因是,所有这些子类都在解决各种不同的目的. 所涉及的目的总结如下: 网络访问 内部缓冲区访问 线程间通信(管道) 缓冲 过滤 解析 读写文本(Reader/Writer) 读写基本类型数据(long,int等) 读写对象 Java IO类概述表 在讨论了 Java IO 类所针对的源,目标,输入,输…
目录:系统学习 Java IO---- 目录,概览 PipedInputStream 类使得可以作为字节流读取管道的内容. 管道是同一 JVM 内的线程之间的通信通道. 使用两个已连接的管道流时,要为每个流操作创建一个线程, read() 和 write() 都是阻塞方法,如果一个线程同时读写就会造成死锁 看一个例子: public class Pipe { public static void main(String[] args) throws IOException { final Pip…
目录:系统学习 Java IO---- 目录,概览 跟踪行号的缓冲字符输入流 LineNumberReader LineNumberReader 类是一个 BufferedReader ,用于跟踪读取字符的行号.行号从 0 开始.每当 LineNumberReader 在包装的 Reader 返回的字符中遇到行终止符时,行号递增. 可以通过调用 getLineNumber() 方法获取当前行号,也可以通过调用 setLineNumber() 方法设置当前行号. 注意设置的行号不会改变实际的文件指…
目录:系统学习 Java IO---- 目录,概览 PrintStream 类可以将格式化数据写入底层 OutputStream 或者直接写入 File 对象. PrintStream 类可以格式化基本类型,如int,long等格式化为文本,而不是其字节值. 这就是为什么它被称为 PrintStream ,因为它将原始字节格式化为文本 - 就像它们在打印到屏幕(或打印到纸张)时看起来一样. 构造器 方法 描述 PrintStream(File file) 创建具有指定文件且不带自动行刷新的新打印…
目录:系统学习 Java IO---- 目录,概览 这两个流的作用是:"封装其它的输入流,并为它们提供额外的功能" 他们的直接子类有: BufferedInputStream 的作用就是为"输入流提供缓冲功能,以及 mark() 和 reset() 功能" DataInputStream 是用来装饰其它输入流,它"允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型" 接下来我们会对具体每一个展开分析的. FilterInput…
目录:系统学习 Java IO---- 目录,概览 BufferedInputStream BufferedInputStream 类为输入流提供缓冲. 缓冲可以加快IO的速度. BufferedInputStream 不是一次从网络或磁盘读取一个字节,而是一次将更大的块读入内部缓冲区. 当从 BufferedInputStream 读取一个字节时,您正在从其内部缓冲区中读取它. 当缓冲区被完全读取时,BufferedInputStream 将另一个更大的数据块读入缓冲区. 这通常比从 Inpu…
Java IO 类的系统教程,原创.主要参考自英文教程 Java IO Tutorial 和 Java Doc. http://tutorials.jenkov.com/java-io/index.html 目的:掌握 Java IO 几乎所有类的基础用法,完全知道什么时候应该使用什么类. 分开学习,先系统学习 IO 所有的类,再另外学习 NIO . 目录: 系统学习 Java IO (一)----输入流和输出流 InputStream/OutputStream 系统学习 Java IO (二)…