Я пытаюсь добавить содержимое в pptx
файл, используя приведенный ниже код:Как добавить данные с FileOutputStream в файл pptx?
FileOutputStream fos = new FileOutputStream(destinationFile,true);
InputStream is = conn.openDataInputStream();
int length = 4096;
byte[] byteArray = new byte[length];
while (true) {
int count = is.read(byteArray);
if (count ==-1) {
break;
}
fos.write(byteArray, 0, count);
}
Но это не получение прилагается. Я забываю что-то добавить?
Приведенный выше метод добавления применяется только к файлам txt
?
EDIT:
У меня проблема исправлена. Фактически File Explorer, из которого я проверял размер файла, не обновлялся! Приведенный выше код действительно работал для добавления загруженных данных в файл «pptx». Используется «RandomAccessFile» вместо «FileOutputStream» (но оба, кажется, работает нормально)
Спасибо за поддержку :)
Это действительно Append скачанных байтов в файле, и правильный способ для добавления загруженные байты в файл, но добавляет загруженные байты в файл действительно то, что вы хотите сделать? – immibis
* «Я пропустил [...] что-то?» * Да, вы совершенно не видите, что [формат] (https://en.wikipedia.org/wiki/Office_Open_XML) файла PPTX. Это не поток байтов, к которому вы можете просто добавить, это сложный формат файла. Это фактически ZIP-файл, состоящий из комбинации файлов XML и BINARY. – Andreas
Исходная загрузка документа с использованием вышеуказанного кода работает нормально. Возможность просмотра файла pptx после завершения загрузки. Но когда я пытаюсь добавить, он получает неудачу – android