转自:nofollow">https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651479115&idx=2&sn=2d063e5631b0916eba275d09f68fa9ff&chksm=bd2530348a52b922b3e4a82ffd9aac6966d6c710bacf8b0ea67ec3ce5b44eff57e1fd4525416&mpshare=1&scene=23&srcid=09256qN3KkA0oT7he5QCEncp#rd
<p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; clear:both; min-height:1em; color:rgb(62,62,62); font-family:'Helvetica Neue',Helvetica,'Hiragino Sans GB','Microsoft YaHei',Arial,sans-serif; font-size:16px; max-width:100%!important; word-wrap:break-word!important">
ava标准I/O知识体系图:
<p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; clear:both; min-height:1em; color:rgb(62,sans-serif; font-size:16px; max-width:100%!important; word-wrap:break-word!important">
<br style="margin:0px; padding:0px; max-width:100%!important; word-wrap:break-word!important">
<p style="margin-top:0px; margin-bottom:0px; padding-top:0px; padding-bottom:0px; clear:both; min-height:1em; color:rgb(62,sans-serif; font-size:16px; text-align:center; max-width:100%!important; word-wrap:break-word!important">
输出)的简称,输入流可以理解为向内存输入,输出流是从内存输出。
404872c6e8ddf0d7e2c6.jpg" alt="">
功能调用实现数据读写。如BufferedReader.处理流的构造方法总是要带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接
文件访问
文件
文件,你可以根据你要读的文件是二进制文件还是文本文件,或者根据你要处理的数据是准备采取字节方式还是字符方式,决定使用 FileInputStream 或者 FileReader。两者支持你从文件开头开始到文件结尾读取一个字节或者字符,也可以将读取的多个字节或字符,写入到内存的字节数组或字符数组。
文件示例:
文件结尾
关闭流
文件示例:
文件结尾
关闭流
文件示例:
文件结尾
关闭流
文件示例:
文件结尾
文件
文件类似:
文件,你可以根据你要写的文件是二进制文件还是文本文件,或者根据你要处理的数据是准备采取字节方式还是字符方式,决定使用 FileOutputStream 或者 FileWriter。两者支持你可以一次写入一个字节或者字符到文件中,也可以直接写入一个字节数组或者字符数据。数据按照写入的顺序存储在文件当中。
文件示例:
关闭流
文件示例:
关闭流
文件示例:
关闭流
文件示例:
关闭流
随机访问文件
文件,可以考虑RandomAccessFile。
文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作。
文件结尾
关闭流
方法和write()方法调用时会导致流阻塞,这意味着如果你尝试在一个线程中同时进行读和写,可能会导致线程死锁。
0) {
0 && (i % 10 == 0)) {
输出流”关联起来。