У меня есть 3 файла xml, которые были сжаты в zip-папку. Папка отправлена с сервера. Когда я загружаю zip-папку через браузер, она работает правильно и может извлекать файлы. Но когда я загружаю его из приложения Android и сохраняю на SD-карте, он поврежден. Я вытащил файл с SD-карты на компьютер и попытался извлечь папку, он показывает: Zip-папка недействительна. Мой код приведен ниже:
DefaultHttpClient httpclient1 = new DefaultHttpClient();
HttpPost httpPostRequest = new HttpPost(
Configuration.URL_FEED_UPDATE);
byte[] responseByte = httpclient1.execute(httpPostRequest,
new BasicResponseHandler()).getBytes();
InputStream is = new ByteArrayInputStream(responseByte);
// ---------------------------------------------------
File file1 = new File(Environment
.getExternalStorageDirectory() + "/ast");
file1.mkdirs();
//
File outputFile = new File(file1, "ast.zip");
FileOutputStream fos = new FileOutputStream(outputFile);
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = is.read(buffer)) != -1) {
fos.write(buffer, 0, len1);
}
fos.close();
is.close();
Когда я использовал
ZipInputStream zin = new ZipInputStream(new BufferedInputStream(is));
ZipInputStream
не может сохранять значения из потока.