2011-11-16 81 views
0

我是一名初學者,我有一個文件可變大小的記錄;每行有兩個字段 ,即一個是7-15數字鍵,然後是空格,還有一個字符串,它也是可變大小的每個記錄。只從Pagesize文件讀取記錄

我試圖只讀取頁面大小的字節到我的緩衝區,然後處理它們。

問題是如果我使用Java.RanomAccessFile並使用seek方法到達特定行,那麼我使用ReadFully方法將這些1024字節讀入我的緩衝區。我已經寫了函數將字節轉換爲int和字節到字符串 - 但問題是,我不知道有多少個字節形成7-15位數字和多少個字節形成我的字符串。

回答

0

當你說一排,你的意思是每一行之間有一個行分隔符?如果是這種情況,你可以使用BufferedReader的readline()方法。這給你一個沒有行分隔符的字符串。

+0

沒問題,我有15 GB的數據,我想讀。所以,如果我逐行閱讀,需要時間,這就是爲什麼我想從我的文件逐頁閱讀;而且我不確定記錄如何適合頁面大小。我必須編寫一些代碼,試圖在定義的頁面大小中讀取我的記錄,直到頁面沒有變滿爲止。如果進一步添加記錄超過頁面大小,那麼不要從文件中提取該記錄。謝謝! – Basmah

+0

如果是這樣的話,那麼你必須咬下子彈並讀入緩衝區,然後窺視你是否讀了整行。如果不是,讀取更多相同的緩衝區大小,直到您讀取整行。 – Pavan