JAVA I/O(1)
2016-05-05 23:29
288 查看
Java io分类:
基于字节操作的I/O接口:InputStream和OutputStream;基于字符操作的接口:Writer和Reader
基于磁盘操作的:File。
基于网络操作的:Socket
(socket类并不在java..io下)
读取和写入文件都要调用操作系统提供的接口才能完成,因为磁盘设备是操作系统内管理的。读写分别对应read(),write()两个系统调用,操作系统为了加速I/O,在内核空间采用缓存机制,如果用户程序访问的是同一段磁盘地址空间数据,则操作系统直接从内核缓存中的高速缓存中取出返回给用户程序(前提是高速缓存中有的话,如果没有还是要去磁盘上读取,然后缓存在高速缓存中)。
两种访问文件的方式:
同步访问:在标准访问的方式基础上,只有数据成功写到磁盘时才返回给应用程序成功的标志,性能差但安全性高异步访问:当访问数据的线程发出请求后,线程会去处理其他事情而不是阻塞等待,当请求的数据返回后继续处理下面的操作。这样可以提高整个程序的效率。
Java访问磁盘文件
文件是操作系统和磁盘驱动器交互的最小单元。当File被指定一个路径描述符时,会返回一个代表这个路径的虚拟对象,可以是一个文件或则是一个路径。那么当真正要读这个文件时,才会去检查这个文件存不存在,当创建一个FileInputStream类对象时,会创建一个FileDescriptor对象(它代表了一个真正存在对象的描述,可以通过调用FileDescriptor.sync())方法将操作系统缓存中的数据刷新到物理磁盘中)相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树