0

Я записываю данные в файл во внешнем хранилище (SD-карту) на моем Android-устройстве. Проблема, с которой я столкнулась, состоит в том, что она просто делает одну запись и не выходит за ее пределы. Я искал несколько Q/As здесь. Может ли кто-нибудь указать мне направление написания? ТИА!Запись данных в файл во внешнем хранилище - приложение для Android

FileOutputStream outputstream; 
try { 
    file1 = new File(Environment.getExternalStorageDirectory(), "MyData.txt"); 
    outputstream = new FileOutputStream(file1); 
    OutputStreamWriter oswriter = new OutputStreamWriter(outputstream); 
    BufferedWriter bwriter = new BufferedWriter (oswriter); 
    bwriter.append(entry); 
    bwriter.newLine(); 
    bwriter.close(); 
    outputstream.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

Извините, я не понимаю, в чем проблема. Код, который вы отправили, будет делать именно то, что вы описали. – m0skit0

+0

@ m0skit0 - Извините, если я был не очень ясен. Дело в том, что я постоянно собираю данные с моим приложением, и я хотел бы иметь все записи в txt-файле. Однако в файл добавляется только первая запись, а отдых - нет. Однако я могу видеть в журналах, что данные извлекаются, но каким-то образом, файл не добавляется после первой записи. – KDK

ответ

2

Вы должны сообщить FileOutputStream, чтобы добавить данные. По умолчанию он просто перезаписывает все содержимое. Для этого вам нужно использовать только другой конструктор FileOutputStream(File, boolean):

outputstream = new FileOutputStream(file1, true); 
+0

Это сработало! Большое вам спасибо за вашу помощь, tynn. – KDK