① 按数据的流动方向可分为输入流和输出流。(注意:站在不同的角度,流的方向是不同,对于java中的流来说都是站在程序的角度,向程序中写入数据的流叫做输入流,从程序中读取数据的流叫做输出流)。
② 按处理数据的单位可以分为字节流和字符流。(字节流是指每次读或写的字节数为1,而字符流每次读或写的字节数为2.而我们中文的一个字是由两个字节组成的,所以当要将一个包含中文的数据集通过流来打印到屏幕时,要使用字符流。注意如果是将含中文的数据集写出到文件,则不一定要使用字符流,因为字节流写出的东西,虽然是一个一个字节写出的,但是使用其他软件打开时,它按GBK编码来显示的话,中文还是能够显示出来的。而屏幕是本来两个字节的东西,拆成两个一字节的东西分别显示,从而显示不了中文)。