Java访问磁盘文件

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值