2015-06-04 3 views
1

Я реализовал Zip папку или файл, а затем загрузил и сохранил ее в памяти. Моя проблема в том, что загружается без ошибок, но я не получаю Zip-файл, а если я нажимаю на загруженный файл он показывает:Папка не архивируется

не может показать

Или

Не удается отобразить сообщение.

Мой код:

String fileName = tvtitle.getText().toString(); 
     String fileExtension = tvtype.getText().toString(); 
     File imageDirectory = new File(Path); 
     imageDirectory.mkdirs(); 
     int fileLength = connection.getContentLength(); 
     String _path = Path; 
     input = connection.getInputStream(); 
     File outputFile = new File(_path, fileName + fileExtension); 
     FileOutputStream fos = new FileOutputStream(outputFile); 
     ZipOutputStream zos = new ZipOutputStream(fos); 
     File srcFile = new File(input.toString()); 
     byte[] buffer = new byte[1024]; 
     zos.putNextEntry(new ZipEntry(srcFile.getName())); 
     int length; 
     while ((length = input.read(buffer)) > 0) { 

      zos.write(buffer, 0, length); 

     } 
     zos.closeEntry(); 
     input.close(); 
     zos.close(); 
+1

«Я не получаю Zip-файл, а если я нажимаю на загруженный файл» - если вы не получаете файл, то как вы можете нажать на него? – immibis

+0

использовать zip4j его легко и быстро ... http://www.lingala.net/zip4j/download.php –

+0

Извините Zip-файл, который я не получаю, я получаю файл без почтового индекса, и если я нажму на этот файл, это будет демонстрируя это. – Piku

ответ

1

Я просто не знаю, что тип этой переменной «ввода»

Я думаю, что вы должны иметь FileInputStream (чтение исходного файла) в быть сопряжен с FileOutputStream (устанавливается в файл назначения/zip).

И эта строка кода:

File outputFile = new File(_path, fileName + fileExtension); 

Ваш выход должен быть .zip файл правой? так, он должен быть:

File outputFile = new File(_path, fileName + ".zip"); 

или что-то подобное

И это будет так

String fileName = tvtitle.getText().toString(); 
String fileExtension = tvtype.getText().toString(); 
File imageDirectory = new File(Path); 
FileInputStream fis = new FileInputStream(imageDirectory); 
ZipEntry zipEntry = new ZipEntry(fileName); 

FileOutputStream fos = new FileOutputStream("test.zip"); 
ZipOutputStream zos = new ZipOutputStream(fos); 
zos.putNextEntry(zipEntry); 
byte[] bytes = new byte[1024]; 
int length; 
    while ((length = fis.read(bytes)) >= 0) { 
     zos.write(bytes, 0, length); 
    } 
zos.closeEntry(); 
fis.close(); 
zos.close(); 
fos.close(); 
+0

Нет, он не работает – Piku

+0

Он бросает FileNotFound Exception – Piku

+0

В «input» я передаю URL-адрес – Piku

Смежные вопросы