Giter Site home page Giter Site logo

1024adam / arcompression Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 6.87 MB

Simple File Compression Program

Java 19.33% C 78.27% Makefile 2.40%
file compression decompression compressed-files c huffman huffman-compression-algorithm huffman-tree compression-algorithm algorithm

arcompression's Introduction

Arc

File Compression Program

Overview

Arc is a file compression program that uses an implementation of the Huffman encoding. It is coded mainly in C for the compression aspects, with Java used to implement a GUI interface for the program. There is also a command line interface in C that has been implemented, and can be used instead of the GUI.

Note:

  1. Currently the Java GUI is not connected to the C compression algorithm, and it is because of this that users cannot compress files using the GUI.
  2. Currently the decompress function is not fully implemented, meaning that users can only compress files using this program.
  3. The programs current function only compresses text files. Future improvements involve adding compression for all types of files.

Building the Project

  1. Build the entire project, linking the Java GUI to the C compression/decompression algorithm (Not Implemented):

    make

  2. Build just the C version of the compression/decompression, implementing the program using a command line interface:

    make arcomp

    Running this command will build the program into /bin/huffman/arc

Running the Project

  1. Run the full C/Java GUI version of the program (Not Implemented):

    No command is available for this feature at this time.

  2. Run just the command line version of the program:

    arcompress

    Command line arguments:

    The command line version of the program takes in at least 2 command line arguments:

    1. The command itself (bin/huffman/arc)
    2. The file to be compressed

    The program also accepts flags, in order to implement both the compression and decompression aspects of the program. These flags are as follows:

    (default, no flags) : Compress the file
    -c                  : Compress the file
    -d                  : Decompress the file
    

arcompression's People

Contributors

1024adam avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.