Próbuję przekonwertować tablicę bajtów do pliku ZIP. Mam bajtów za pomocą następującego kodu:Jak przekonwertować tablicę bajtów do pliku ZIP
byte[] originalContentBytes= new Verification().readBytesFromAFile(new File("E://file.zip"));
private byte[] readBytesFromAFile(File file) {
int start = 0;
int length = 1024;
int offset = -1;
byte[] buffer = new byte[length];
try {
//convert the file content into a byte array
FileInputStream fileInuptStream = new FileInputStream(file);
BufferedInputStream bufferedInputStream = new BufferedInputStream(
fileInuptStream);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
while ((offset = bufferedInputStream.read(buffer, start, length)) != -1) {
byteArrayOutputStream.write(buffer, start, offset);
}
bufferedInputStream.close();
byteArrayOutputStream.flush();
buffer = byteArrayOutputStream.toByteArray();
byteArrayOutputStream.close();
} catch (FileNotFoundException fileNotFoundException) {
fileNotFoundException.printStackTrace();
} catch (IOException ioException) {
ioException.printStackTrace();
}
return buffer;
}
Ale teraz mój problem jest z konwersji tablicę bajtów z powrotem do pliku ZIP - w jaki sposób można to zrobić?
Uwaga: Podany ZIP zawiera dwa pliki.
Czego dokładnie chcesz? Czy chcesz zapisać bajty z powrotem na dysk w pliku zip? Czy chcesz przeczytać zawartość? Bajty, jak je czytać, nie są jeszcze dekodowane. – morja
@ morja -> tak chcę napisać bajty z powrotem na dysk w postaci pliku zip. – Mohan
No cóż, ale po prostu zapisz bajty z powrotem na dysk za pomocą FileOutputStream i nazwij plik .zip. Nie chcesz pisać wyodrębnionych plików? – morja