您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

网上流传的继承RandomAccessFile缓冲办法并不可靠

柳鲲鹏 发布时间:2020-07-27 08:37:22 ,浏览量:0

  最近一段时间,试图对RandomAccessFile进行缓冲,期间出了不少问题。最早吾是从网上搜索,看看有没有现成的代码。找到了现在的代码,用了一下都出错了。

  出错了怎么办?自己写。自己写,就先研究了一下RandomAccessFile,然后就认定,使用继承一定是不行的。为什么呢?看以下代码:

    public native long length() throws IOException;
    public native void setLength(long newLength) throws IOException;

  final表示本函数无法重载。如果从RandomAccessFile继承,一旦调用这个函数,那么缓冲关系就错乱了,结果就会一团糟。

 

  怎么解决这个问题?

  • 另外提供一个函数,并明确要求不得调用seek()之类的函数。这个最好使用工具检查。
  • 封闭,保存一个RandomAccessFile引用。这样实现同名函数,然后调用RandomAccessFile的对应函数。
  • 修改JDK,去掉final,允许继承。

  目前看,第一种方式最佳,最简单。

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0492s