7 Şubat 2019 Perşembe

Compress ArchiveInputStream Sınıfı

Giriş
Abstract bir sınıftır. Bu sınıftan kalıtan sınıflar şöyle

ArArchiveInputStream, ArjArchiveInputStream, CpioArchiveInputStream, DumpArchiveInputStream, TarArchiveInputStream, ZipArchiveInputStream

constructor
Şöyle yaparız. ArchiveStreamFactory tarafından yaratılır.
try (ArchiveInputStream ais =
         asFactory.createArchiveInputStream(
           new BufferedInputStream(
             new FileInputStream(archive)))) {

  ...
}
getNextEntry metodu
Şöyle yaparız.
ArchiveEntry ae;
while ((ae = ais.getNextEntry()) != null) {

  if (ae.isDirectory()) {
    File dir = new File(archive.getParentFile(), ae.getName());
    dir.mkdirs();
    continue;
  }

  File f = new File(archive.getParentFile(), ae.getName());
  File parent = f.getParentFile();
  parent.mkdirs();
  try (OutputStream os = new FileOutputStream(f)) {
    IOUtils.copy(ais, os);
  } catch (IOException innerIoe) {
    ...
  }
}

Hiç yorum yok:

Yorum Gönder