Сохранить объект File

208
09 мая 2017, 03:54

Есть загрузчик данных с HTTP, на выходе он выдает объект типа File, как мне его сохранить в папку с приложением?

Везде искал, в примерах только записывали данные типа String, других примеров не нашел.

Подозреваю, что, возможно, это как-то реализуется с помощью ObjectOutput.

Answer 1

Записать объект класса File на диск (в данном случае в internal storage) можно с помощью файловых потоков:

FileInputStream fileInputStream = new FileInputStream(fileToSave);
FileOutputStream fileOutputStream = new FileOutputStream(new File(getFilesDir(), "fileToSave.ext"));
byte fileContent[] = new byte[(int) fileToSave.length()];
fileInputStream.read(fileContent);
fileInputStream.close();
fileOutputStream.write(fileContent);
fileOutputStream.close();

Здесь fileToSave – объект класса File, который требуется сохранить в internal storage, "fileToSave.ext" – имя сохраненного файла.

В вышеприведенном коде происходит получение FileInputStream по исходному File, далее его содержимое считывается в byte[] и этот массив байтов записывается в FileOutputStream.

READ ALSO
Ошибка при @OneToMany и @ManyToOne

Ошибка при @OneToMany и @ManyToOne

Вне зависимости от попыток что-либо изменить вылетает одно и та же ошибка

262
Перевод числа в 16-ную систему счисления java

Перевод числа в 16-ную систему счисления java

Товарищи! Как можно вывести на экран числа AF при переводе числа из 10-ной системы счисления в 16-ную, если if/switch и строки использовать нельзя?

298
Как проверить существует ли DB?

Как проверить существует ли DB?

Мне нужен метод проверяющий что база даных существует чтобы если вернется false сделать create database

303
Изменяющийся hashcode

Изменяющийся hashcode

Доброго времени суток

347