2016-12-13 7 views
-2

Я пытаюсь добавить содержимое в 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» (но оба, кажется, работает нормально)

Спасибо за поддержку :)

+0

Это действительно Append скачанных байтов в файле, и правильный способ для добавления загруженные байты в файл, но добавляет загруженные байты в файл действительно то, что вы хотите сделать? – immibis

+2

* «Я пропустил [...] что-то?» * Да, вы совершенно не видите, что [формат] (https://en.wikipedia.org/wiki/Office_Open_XML) файла PPTX. Это не поток байтов, к которому вы можете просто добавить, это сложный формат файла. Это фактически ZIP-файл, состоящий из комбинации файлов XML и BINARY. – Andreas

+0

Исходная загрузка документа с использованием вышеуказанного кода работает нормально. Возможность просмотра файла pptx после завершения загрузки. Но когда я пытаюсь добавить, он получает неудачу – android

ответ

0

я получил вопрос исправлен. Фактически File Explorer, из которого я проверял размер файла, не обновлялся! Вышеприведенный код действительно работал для добавления загруженных данных в файл «pptx». Используется «RandomAccessFile» вместо «FileOutputStream» (но оба, кажется, работает нормально)

Спасибо за поддержку :)