Java File类详解及IO介绍及使用

2019-09-14  本文已影响0人  DeeJay_Y

我是一个CPU:这个世界慢!死!了! ,可以感受到CPU,内存和硬盘之间的速度比较。

文件的本质

OS(操作系统)的目的就是可以让上层程序可以通过一种统一的方式去拿到无论什么磁盘里的文件(即一段字节流)。
一切文件的本质:

即文件本身就是一段字节流,不管是图片、音频还是文本等等,文件的展示形式取决于用什么软件打开,例如播放器可以解析mp3文件等,但是本质上这个文件就是一段字节流。

文件和IO

程序和文件之间的双向流读取和输出,和网络连接时,从机器到远程主机上的双向的读取输出流十分相似,所以Java针对这种流抽象出了InputStream和OutputStream。

InputStream/OutputStream

输入和输出都是以程序为基准来判定的

对于文件读取,永远建议使用绝对路径。

Java中的File类

NIO

NIO解决的问题是,对于旧版的流式读取,因为其是通过字节流的形式传输的,一个字节一个字节的进行读写,没法插队等等,速度较慢。NIO改为了按块读写,中间块和块是也是没有顺序的,是比旧版IO快的。

IO太慢的解决方法

使用BufferedReader/BufferedWriter

不用重复造轮子

FileUtils

IOutils

上一篇下一篇

猜你喜欢

热点阅读