Сохранение файла во внутреннюю память Android

315
12 марта 2017, 05:11

Как сохранять файлы из приложения во внешнюю память понятно - getExternalStoragePublicDirectory(). Но как сохранить файл во внутреннюю память? Если нет sd карты.

Answer 1

Вопрос очень просто гуглится. Либо задан некорректно и я не понял что хочет автор на самом деле. Метод сохранения одинаковый. Разница только в указываемом пути файла.

Путь получаете таким образом. Если у вас нет sd карты, то он уж точно не вернет на нее ссылку

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

Для создания файла в одной из этих директорий можно использовать конструктор File(), который передает элемент File, предоставляемый одним из вышеприведенных методов, с помощью которого указывается директория во внутренней памяти. Например:

File file = new File(путь файла, filename);

Кроме того, можно вызвать метод openFileOutput() для получения объекта FileOutputStream , производящего запись в файл во внутренней памяти. Вот пример записи текста в файл:

String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;
try {
  outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
  outputStream.write(string.getBytes());
  outputStream.close();
} catch (Exception e) {
  e.printStackTrace();
}
READ ALSO
java Hibernate setClienId и setClient

java Hibernate setClienId и setClient

Столкнулся с проблемой при создании классов из базы данныхПри генерации если отметить поле client_id и связь по этому полю типа один ко многим,...

232
Как работает рекурсивный generic?

Как работает рекурсивный generic?

У меня есть код, по которому я хочу разобраться, как работает рекурсивные genericsСмысл задачи в том, что-бы метод compareTo, принимал для сравнения,...

265
Определить, находится ли курсор в JTextField

Определить, находится ли курсор в JTextField

В общем, проблема такая: мне нужно проверить находится ли _курсор в объекте JTextField

275
Как убрать лишние символы со строки?

Как убрать лишние символы со строки?

Есть строка: String a = "[49,5454545,434324]";

439