Постоянная проверка файлов в директории Android
Я столкнулся с такой проблемой: мне нужно каким-то образом проверять файлы в директории на внутренней памяти Android-устройства через определённое кол-во времени, и если появляются новые, то читать их при помощи BufferedReader. Буду очень признателен вашей помощи
Ответы (1 шт):
Автор решения: Maks
→ Ссылка
повторять через определенное время можно так:
private Runnable repeatativeTaskRunnable = new Runnable() { public void run() { new Handler(getMainLooper()).post(new Runnable() { @Override public void run() { //DO YOUR THINGS } };
Чтобы запустить повтор и установить задержку:
private Handler taskHandler = new NonLeakyHandler(FlashActivity.this);
taskHandler.postDelayed(repeatativeTaskRunnable , DELAY_MILLIS);
2.для того чтобы сканировать папку на наличие новых файлов надо:
-прочитать названия всех файлов
-если файл уже есть в массиве с названиями файлов то пропускаем,а если нет то записываем его название в массив и читаем его.
3.читать файл можно так:
void readFile() {
try {
// открываем поток для чтения
BufferedReader br = new BufferedReader(new InputStreamReader(
openFileInput(FILENAME)));
String str = "";
// читаем содержимое
while ((str = br.readLine()) != null) {
Log.d(LOG_TAG, str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}