ZIP android Viber каталог данных и скопировать в другое место - PullRequest
0 голосов
/ 11 апреля 2020

С помощью следующего кода я пытаюсь заархивировать каталог данных 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());
        }

    }
...