java读文档

java读文档的函数有几个,我通常直接用InputStreamReader和buffereader,这个方式是从开头读到最后,readline一行行读。但是,我昨天想实现反复读一个文档的功能,即读完一遍后再读一遍。我发现InputStreamReader无法让我再从头开始读,问了同事,他告诉我从新打开。吼吼,我知道这个方式,我就是不想用这种方式所以才问的。后来同事告诉我,可以用RandomAccessFile。


RandomAccessFile是不同意InputStreamReader的一类IO,它是单独的一个类,和InputStreamReader不一样。它有seek( )方法,这个方法可以让你跳转到那个字节读数据。这就足够了,我不需要单独读文档中某一行或者某一个字段,我只需要回到开头就行。因此,我可以在读完一个文档后,再seek(0)就行了。这样我就可以回到开头从新读该文档了。


我记得c++/c中有一个读文档的函数就是这个,fseek()可以设置到第几个字节,和上面的seek是一样的。我猜想java就是为了完成这个功能才有的上面那个函数吧,虽然java中没有指针了,可毕竟有时候我们想操作地址。

附上一篇很好的介绍文:http://www.cnblogs.com/kelin1314/archive/2010/08/05/1793320.html

你可能感兴趣的:(java读文档)