一:IO流的分类
1)按流向分:
输入流:读取数据,把持久设备的数据读取到内存中。
输出流:写出数据,把内存的数据写出到持久设备。
2)按数据类型分:
计算机中一切数据都是:字节数据。
字符数据:底层还是字节数据,但是可以根据某些规则,把字节变成人们认识的文字、符号等等。
字节流:数据在持久设备上都是以二进制形式保存的。二进制就是字节数据。Java就给出了字节流可以直接操作字节数据。
字节输入流:InputStream
子类:FileInputStream
字节输出流:OutputStream
子类:FileOutputStream
字符流:读取字符数据。数据在设备上是以二进制形式表示,但是有些二进制合并在一起可以表示一些字符数据。
字符输入流:Reader
子类:FileReader
字符输出流:Writer
子类:FileWriter
注意:
1)字节流可以对任意类型的文件按照字节进行读和写的操作;例如:图片、视频、文本文件、word文档、mp3等。
2)字符流只能对文本类型的文件进行操作;例如:.java文件、.txt等文件。
二:字节流
1)字节输出流 OutputStream
public void close() :关闭此输出流并释放与此流相关联的任何系统资源。
public void write(byte[] byte):把这个byte字节数组中的所有数据写到关联的设备中(设备包括文件、网络或者其他任何地方)。
public void write(byte[] b, int off, int len) :把b字节中的数据从下标off位置开始往出写,共计写len个。
public abst

本文详细介绍了Java中的IO流,包括字节流和字符流的分类、主要方法以及使用场景。字节流分为输入流和输出流,如InputStream和OutputStream,用于处理所有类型的文件;字符流如Reader和Writer,专门处理文本数据。在实际操作中,字节流可以处理任意类型的文件,而字符流仅适用于文本文件。同时,字符流在内部有缓冲区,需要调用flush方法将数据刷新到目标文件中。最后,文章还提到了Java的相关学习资源。

7138

被折叠的 条评论
为什么被折叠?



