Это, наверное, глупый вопрос, но я создаю функцию, которая получает данные из файла для проверки. Я пытаюсь использовать буферизованный считыватель и считыватель файлов в этой функции, хотя bufferredReader.readLine() всегда возвращает значение null. Также нет логарифма. Мне нужна помощь. Существует два метода, один из которых сохраняет файл, а другой - для получения данных из файла. Я уже знаю, что данные передаются в функцию сохранения в файл правильно.Невозможно прочитать файл на Android
Вот сохранение в файл функции:
public boolean saveToBill(Editable user, Editable points, Editable mows) {
String FILENAME = "/billDrafts";
String string = user + "," + points + "," + mows;
try {
FileWriter writer = new FileWriter(this.getFilesDir() + FILENAME);
writer.write(string);
Toast toast = Toast.makeText(this, "Saved to checkout. Click the 3 dots, then checkout to complete billing process." + string, Toast.LENGTH_LONG);
toast.show();
return true;
} catch (Exception e) {
Toast toast = Toast.makeText(this, "Failed to save file for checkout.", Toast.LENGTH_LONG);
toast.show();
return false;
}
}
Вот функция для чтения из файла:
public void checkout() {
String FILENAME = this.getFilesDir() + "/billDrafts";
try {
FileReader fileReader = new FileReader(FILENAME);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String bills = bufferedReader.readLine();
Toast toast = Toast.makeText(this, "Checkout Complete" + bills, Toast.LENGTH_LONG);
toast.show();
bufferedReader.close();
fileReader.close();
} catch (FileNotFoundException fileNotFoundException) {
Toast toast = Toast.makeText(this, "Checkout Failed. Make sure you have somebody to bill.", Toast.LENGTH_LONG);
toast.show();
} catch (IOException ioException) {
Toast toast = Toast.makeText(this, "Checkout Failed. An unknown error occurred during checkout.", Toast.LENGTH_LONG);
toast.show();
}
}
Кажется, ваш писатель не очищается, после того, как сделано с письменной форме, вам нужно вызвать 'writer.flush()' для того, чтобы очистить буфер в файл. –