2011-11-16 52 views
0

我是一名初学者,我有一个文件可变大小的记录;每行有两个字段 ,即一个是7-15数字键,然后是空格,还有一个字符串,它也是可变大小的每个记录。只从Pagesize文件读取记录

我试图只读取页面大小的字节到我的缓冲区,然后处理它们。

问题是如果我使用Java.RanomAccessFile并使用seek方法到达特定行,那么我使用ReadFully方法将这些1024字节读入我的缓冲区。我已经写了函数将字节转换为int和字节到字符串 - 但问题是,我不知道有多少个字节形成7-15位数字和多少个字节形成我的字符串。

回答

0

当你说一排,你的意思是每一行之间有一个行分隔符?如果是这种情况,你可以使用BufferedReader的readline()方法。这给你一个没有行分隔符的字符串。

+0

没问题,我有15 GB的数据,我想读。所以,如果我逐行阅读,需要时间,这就是为什么我想从我的文件逐页阅读;而且我不确定记录如何适合页面大小。我必须编写一些代码,试图在定义的页面大小中读取我的记录,直到页面没有变满为止。如果进一步添加记录超过页面大小,那么不要从文件中提取该记录。谢谢! – Basmah

+0

如果是这样的话,那么你必须咬下子弹并读入缓冲区,然后窥视你是否读了整行。如果不是,读取更多相同的缓冲区大小,直到您读取整行。 – Pavan