Мое android приложение получает с сервера специальный файл (текстовый файл) в следующем формате:
----- ИНФОРМАЦИЯ О ЗОНЕ ------
// здесь текст, содержащий информацию о полученном контенте
----- END ZONE -------
----- ZONE CONTENT --------
// полное содержимое
-------- END ZONE ---------
------- ZONE ADD-- ----
// Дополнительные детали
------ END ZONE -------
Это мой код для чтения файла ( строка за строкой) и извлеките INFO и CONTENT и ДОПОЛНИТЕЛЬНЫЕ ДЕТАЛИ в память для выполнения некоторых операций.
String infoZone= "\t\t\t\t-------ZONE INFO-------";
String contentZone= "\t\t\t\t-------ZONE CONTENT-------";
String addZone= "\t\t\t\t-------ZONE ADD-------";
String endZone= "\t\t\t\t-------END ZONE-------";
BufferedReader reader;
reader = new BufferedReader(new FileReader(receivedFile));
String line = reader.readLine();
if(line.equals(infoZone)){
while(!line.equals(endZone)) {
line = reader.readLine();
if(!line.equals("") && !line.equals(endZone) )
infoText+= line;
}
}
line = reader.readLine();
if(line.equals(contentZone)){
while(!line.equals(endZone)) {
line = reader.readLine();
if(!line.equals("") && !line.equals(endZone) )
contentText+= line;
}
}
line = reader.readLine();
if(line.equals(addZone)){
while(!line.equals(endZone)) {
line = reader.readLine();
if(!line.equals("") && !line.equals(endZone) )
contentText+= line;
}
}
Этот код работает отлично подходит для небольших файлов, но когда размер файла больше 2 Мо, приложение становится очень медленным (около 5 минут, чтобы прочитать все CONTENT ).
У вас есть идеи? как извлечь INFO и CONTENT эффективно?
Примечание: максимальный размер полученного файла составляет 10 мес.