Uploaded image for project: 'Commons Compress'
  1. Commons Compress
  2. COMPRESS-118

Simple high-level api to do with one line what you can do with one command in a command shell

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Archivers
    • Labels:

      Description

      There should be a high-level api for basic operations with archives in Java. This could be a place for it. There are a few apis for working with compression archives in java, but all of them are fairly low-level. The most basic operations therefore requires just as much code as more specific ones. It is not possible to unzip an archive in less than 50 lines of code, can you believe it!

      Performing basic operations on archives should be as easy in java as on the command line. I suggest adding something like:

      HighLevelApi.extractAll(zipfile,destinationDirectory)
      or, even
      new ZipFile(file).extractAllTo(directory)

      and
      ZipFile archive = HighLevelApi.createFrom(directory, "*");
      or, even
      ZipFile archive = ZipFile.from(directory);

      In general: one line in bash should be one line in java (plus try-catch...) for these kinds of operations.

      See "zip --help" and "unzip --help" for further candidate methods in the high-level API.

      One could also consider a coordinated effort with the VFS-project, in order to add such methods to all such hierarchies/storages.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              eirikma Eirik Maus
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 48h
                48h
                Remaining:
                Remaining Estimate - 48h
                48h
                Logged:
                Time Spent - Not Specified
                Not Specified