С помощью следующего кода я пытаюсь заархивировать каталог данных Viber и скопировать его в другое место. Я получаю сообщение об ошибке:
/ storage / emulated / 0 / Android / data / com.viber.voip: открыть не удалось: EISDIR (является каталогом)
код
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
FileOutputStream fos = new FileOutputStream("/storage/emulated/0/Android/data/com.viber.voip");
ZipOutputStream zos = new ZipOutputStream(fos);
File srcFile = new File("/storage/emulated/0/Download/");
File[] files = srcFile.listFiles();
Log.d("", "Zip directory: " + srcFile.getName());
for (int i = 0; i < files.length; i++) {
Log.d("", "Adding file: " + files[i].getName());
byte[] buffer = new byte[1024];
FileInputStream fis = new FileInputStream(files[i]);
zos.putNextEntry(new ZipEntry(files[i].getName()));
int length;
while ((length = fis.read(buffer)) > 0) {
zos.write(buffer, 0, length);
}
zos.closeEntry();
fis.close();
}
zos.close();
} catch (IOException ioe) {
Log.e("", ioe.getMessage());
}
}