hhyDriver
驱动小牛
驱动小牛
  • 注册日期2007-06-06
  • 最后登录2009-01-19
  • 粉丝0
  • 关注0
  • 积分154分
  • 威望150点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
阅读:1083回复:3

覆盖写出现的问题

楼主#
更多 发布于:2007-08-15 09:14
文件覆盖写时,write.length为文件实际长度,而一般写时write.length为文件占用空间大小。驱动对一般写是正确的;而覆盖写时,写入文件内容正确(密文),但写后打开(没重启机器)为密文。请问高人:与一般写相比,覆盖写是否要进行什么其它处理?谢谢。
hhyDriver
驱动小牛
驱动小牛
  • 注册日期2007-06-06
  • 最后登录2009-01-19
  • 粉丝0
  • 关注0
  • 积分154分
  • 威望150点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-16 17:55
可悲啊,问题没人回答
hhyDriver
驱动小牛
驱动小牛
  • 注册日期2007-06-06
  • 最后登录2009-01-19
  • 粉丝0
  • 关注0
  • 积分154分
  • 威望150点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-16 18:05
这个问题解决了,当然也不知是否为好方法。
解决办法:create方法中判断出覆盖操作后记住标志,write方法中放行。同时close(完成后)中清除缓存,这样就可以保证打开时是明文,当然不是遇到close就清除,预想的是最后一次close完成后。至于如何判断是最后一次,参考了tooflat代码的create和close方法中用到的结构。

希望对遇到类似问题的同仁有所帮助。
hhyDriver
驱动小牛
驱动小牛
  • 注册日期2007-06-06
  • 最后登录2009-01-19
  • 粉丝0
  • 关注0
  • 积分154分
  • 威望150点
  • 贡献值0点
  • 好评度146点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-16 18:07
强烈建议提问的同仁所问的问题解决后,把解决思路贴出来,以供后来者参考。
游客

返回顶部