2011-01-31 131 views
0

我需要做的是向后读取文件。我想要做的是向后读文件,然后向后移动,看​​看值是否为G或以十六进制数47为单位,然后查看下一个值是否为N或以4进制表示,然后查看下一个值是否为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

如果您提到了您在较高级别尝试执行的操作,它将帮助我们帮助您...... – thkala 2011-01-31 01:48:03

回答

0

你可以想像,倒着读是不正常的事情,你就必须做事端很奇怪。

但是你可以地方的索引文件的自己。如果你这样做了,把它放在最后,读一个字节,然后放在(end-1),读一个字节,等等,你会成功。

这将是可怕的慢,所以你做了什么ISS多读,你可以到缓冲区中,从末端开始,然后再通过缓冲落后,然后重新填充缓冲。

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

0

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

1

而不是阅读向后文件,寻找你的字符串,你为什么不只是扭转你的字符串,并在文件中寻找它去向前?这似乎是一个更简单的解决方案?