输入(input)与输出(output)
Java IO流可以概括为:两个对应、一个桥梁。两个对应指字节流(Byte Stream)和字符流(Char Stream)的对应,输入流和输出流的对应。一个桥梁指从字节流到字符流的桥梁
File
File是对文件或者文件夹进行操作
字节流的输入流读取文件内容为FileInputStream输出流FileOutputStream
字节流也可以转换为字符流
其中有BufferedReader和BufferedWriter
BufferedReader 与 BufferedWriter 实现了自带缓冲 区的字符流高效读写,其最小操作单元为一个字符 (16位),同时,我们也可以自己指定缓冲区的大 小,默认的缓冲区有8192 个字符,通常情况下已经 足够了BufferedReader对比FileInputStream,我们它多了两个方法:
readLine()和ready(),readLine()方法用于从缓冲区 每次读取一行,ready()用于判断文件是否被读取完 毕。 BufferedReader在读取文字档案时,会先将数据资 料先读入缓冲区,而之后若使用read()等方法时,会 先从缓冲区中进行读取,如果缓冲区数据不足,才会 再从文件中读取,藉由缓冲区,可以减少对磁盘的 I/O动作,借以提高程序的效率
BufferedWriter该类具有缓冲区,所以在写入的过程是首先将字符填 充缓冲区(8192个字符),然后再将缓冲区的内容 交由操作系统写入磁盘上的文件,这样就提高了性能, 避免了对每个字符写入磁盘的频繁操作 flush()方法的作用就是将缓冲区内的数据传递给操作 系统,并通过操作系统写入磁盘。在调用close()方法 时,会自动调用flush()方法