向后读取二进制文件

时间:2011-01-31 01:06:54

标签: java file hex rad

我需要做的是向后读一个文件。我希望能够做的是向后读取文件,然后向后移动,看​​看值是否为G或十六进制47,然后查看下一个值= N或十六进制4E,然后查看下一个值是否为P我目前正在使用二进制IO读入然后使用...

以下是图片的链接,可以更好地展示我的意思.. http://www.facebook.com/photo.php?pid=2189508&l=92393dfccb&id=1283154964

  String s = Integer.toHexString(hexIn);
  if(s.length() < 2){
   s = "0" + Integer.toHexString(hexIn);
  }

要确保十六进制不会遗漏任何零(我在本网站上找到::)

3 个答案:

答案 0 :(得分:1)

不是向后读取文件并查找你的字符串,为什么不直接转换你的字符串并在文件转发中查找它?那似乎是一个更容易的解决方案?

答案 1 :(得分:0)

你可以想象,向后看是不正常的,你必须做一些奇怪的事情。

可以自己将索引放入文件中。如果你这样做,把它放在最后,读取一个字节,然后将它放在(结束-1),读取一个字节,依此类推,你就会成功。

它会非常慢,所以你所做的就是尽可能多地读到一个缓冲区,从最后开始,然后向后通过缓冲区,然后重新填充缓冲区。

This tutorial告诉你关于Java中随机访问I / O的所有信息。

答案 2 :(得分:0)

RandomAccessFile将是用于向后读取文件的最简单的类。