private boolean loadRequestsFromFile(int numbersToLoad, long startOffset, int firstID) {
int id = firstID;
long offset = startOffset < 0 ? 0 : startOffset;
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(mRequestStoreFile), "UTF-8"));
reader.skip(offset);
try {
String line;
int ind = 0;
//set offset for first id
mIDs.put(id, offset);
while ((line = reader.readLine()) != null && ind++ < numbersToLoad && mURLCache.get(id) == null) {
if (mIDs.get(id) == null)
WebtrekkLogging.log("File is more then existed keys. Error. Key:" + id + " offset:" + offset);
//put URL and increment id
mLoaddedIDs.put(id++, line);
offset += (line.length() + System.getProperty("line.separator").length());
//set offset of next id if exists
if (mIDs.get(id) != null && (mLatestSavedURLID >= id || mLatestSavedURLID == -1) )
mIDs.put(id, offset);
}
} finally {
reader.close();
}
} catch (Exception e) {
WebtrekkLogging.log("cannot load backup file '" + mRequestStoreFile.getAbsolutePath() + "'", e);
return false;
}
return true;
}