Java访问磁盘文件

来源:互联网 发布:php 输出时间格式 编辑:程序博客网 时间:2024/04/29 20:42

在Java中,通常File并不代表一个真实存在的文件对象,当你指定一个路径描述符时,它会返回一个代表这个路径的一个虚拟对象,可能是一个真实存在的文件或者只是一个包含多个文件的目录.这样设计的原因是我们并不关心这个文件是否真的存在,只是关心它如何操作.只有当我们读取这个文件时才需要检查这个文件是不是真的存在.下面就举一个例子说明.

FileInputStream类是操作一个文件的接口,在创建一个FileInputStream对象时会创建一个FileDesciptor对象,这个对象就是真正代表一个存在的文件对象的描述.当在操作一个文件对象时可以通过getFD()方法获取真正操作的与底层操作系统关联的文件描述.例如,可以调用FileDesciptor.sync()方法将操作系统缓存中的数据强制刷新到物理磁盘上.

如果我们需要从磁盘中读取一段文本字符那么就会有以下过程.

当传入一个文件路径时将会根据这个路径创建一个File对象来标识这个文件,然后根据这个File对象创建真正读取文件的操作对象.这时将会真正创建一个关联真实存在的磁盘文件的文件描述符FileDescriptor,通过这个对象可以直接控制这个磁盘文件.由于我们需要读取的是字符格式,所以需要StreamDecoder类将byte解码为char格式.至于如何从磁盘驱动器上读取一段数据,操作系统会帮我们完成.

0 0
原创粉丝点击