Я исследовал эту проблему некоторое время и нашел только очень сложные ответы, так что я очень запутался. Имейте в виду, что я не опытный программист, поэтому не ждите, что я об этом узнаю!
Все, что я хочу сделать, это напечатать новую строку символов в текстовый файл, расположенный в папке загрузок на SD-карте в Android. Я настроил свой эмулятор на SD-карту и поместил текстовый файл в папку загрузок. Этот фрагмент кода предназначен для класса базы данных, который получит доступ к текстовому файлу на SD-карте для чтения данных. Я знаю, что класс работает вне Android, поэтому предположим, что все методы работают так, как они должны читать данные!
Я получаю IOException, когда запускаю этот метод в другом классе:
public void addRecordToDataBase(ChildRecord c) throws IOException
{
FileWriter outFile = new FileWriter("/mnt/sdcard/download/database.txt");
PrintWriter out = new PrintWriter(outFile);
out.println(c.printToDataBase());
out.close();
}
Странно то, что я могу прекрасно читать из базы данных другими методами, используя тот же путь; нет проблем там. Я просто не могу написать ему. Я где-то читал, что вы можете использовать «обычные методы Java» для записи на SD-карту в Android без повсеместных безумных вещей «OutputStream». Это правда? Я отладил эту вещь и обнаружил, что строка кода, которая вызывает исключение, находится прямо здесь:
FileWriter outFile = new FileWriter("/mnt/sdcard/download/database.txt");
Если кто-нибудь знает, почему я получаю это IOException, я был бы очень благодарен! Я попробовал все сумасшедшие методы, которые хочет использовать Android, но я думаю, что потерял в этом, поэтому я просто вернулся к тому, что я знал, как сделать.
Большое спасибо!