Java中的IO流
一、流的概念
流(stream)的概念源于UNIX中管道(pipe)的概念。流分为源端口和目的端口,从流的方向可以分为输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,而不能读它。
二、流的分类
java.io包中主要包含以下几种类型
1、字节输入流:如InputStream及其子类
2、字节输出流:如OutputStream及其子类
3、字符输入流:如Reader及其子类
4、字符输出流:如Writer及其子类
5、文件本地地址描述:File类
6、文件描述符:FileDescriptor类
7、IO异常类:IOException、FileNotFoundException等
8、文件系统类:FileSystem、WinNTFileSystem类(非public类)
9、Console类,可以读入控制台打印的信息也可输出到控制台。可由System.console获得
字节流与字符流的区别:字节流是程序不通过缓冲区直接文本操作,而字符流用到缓冲区。
什么是缓冲区?
缓冲区可以简单地理解为一段内存区域。一个程序频繁调用某个资源,重复读取则性能很低,为提高性能,将一部分数据存放于缓冲区,便于程序快速读取。
在开发之中,对于字节数据处理比较多,例如,图片,电影,文字;而字符流最大的好处是它可以进行中文的有效处理。如果在日常开发中有中文处理,用字符流,如果没有,建议使用字节流

浙公网安备 33010602011771号