Java IO流

2018-12-18  本文已影响4人  九叶轻尘

字节流:主要由InputStream和OutputStream作为基类,操作的数据单元是8位的字节

字符流:主要由Reader和Writer作为基类,操作的数据单元是16位的字符

节点流:低级流,直接和数据源相接

处理流:对节点流的包装。以增加缓冲的方式提高输入输出的效率,操作便捷,增加了输入输出的内容的量。

字节和字符的区别:字节指的是8bit,在任何平台下是固定的大小。字符指的是一个字符所占据的空间大小。根据不同的编码方式,每个字符占据一个到数个字节的大小。不同的平台下,使用的编码方式大多不同。

对于纯文本的文件一般情况下优先使用字符流,这样可以避免由编码方式不同导致的乱码现象。但是对于图片,视频等文件只能使用字节流,使用字符流将无法处理。


File类:文件和目录路径名的抽象表示形式,与平台无关。能够新建、删除、重命名文件和目录,但是File本身不能访问文件内容。访问时需要使用输入输出流。

相关关系,所有类都是基于4个基类实现的

对文件的输入输出操作如下:

简单操作

缓冲流:套接在相应的节点流之上,对读写的数据提供缓冲的功能,提高读写的效率。对于输出的缓冲流,写入的数据会现在内存中缓存,使用flush()将会使内存中的数据立刻写出。具体使用如下:

缓冲流的使用

注意事项:

1.IO流不属于内存资源,因此垃圾回收机制不能回收,需要在操作结束之后调用close()方法显示关闭释放资源。

上一篇下一篇

猜你喜欢

热点阅读