我需要做的是向后读一个文件。我希望能够做的是向后读取文件,然后向后移动,看看值是否为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);
}
要确保十六进制不会遗漏任何零(我在本网站上找到::)
答案 0 :(得分:1)
不是向后读取文件并查找你的字符串,为什么不直接转换你的字符串并在文件转发中查找它?那似乎是一个更容易的解决方案?
答案 1 :(得分:0)
你可以想象,向后看是不正常的,你必须做一些奇怪的事情。
但可以自己将索引放入文件中。如果你这样做,把它放在最后,读取一个字节,然后将它放在(结束-1),读取一个字节,依此类推,你就会成功。
它会非常慢,所以你所做的就是尽可能多地读到一个缓冲区,从最后开始,然后向后通过缓冲区,然后重新填充缓冲区。
This tutorial告诉你关于Java中随机访问I / O的所有信息。
答案 2 :(得分:0)
RandomAccessFile将是用于向后读取文件的最简单的类。