shlevanto / text_file_compression

0 stars 0 forks source link

GitHub Actions codecov

tiralabra-2022

Lab project concerning datastructures and algorithms, University of Helsinki. Course code TKT20010, spring semester 2022. Implements two lossless compression algorithms.

Study program

Tietojenkäsittelytieteen kandidaattiohjelma.

Backlog

Backlog

Documentation

Specification

Implementation

Test documentation

Weekly progress

User guide

The project has a simple command line interface.

Usage: <main class> [-dhv] [--performance] [--showbwt] -m=<method> <filepath>
      <filepath>          The file to compress.
  -d, --decompress        decompress the given file using chosen method
  -h, --help              displays a help message
  -m, --method=<method>   compression method: 'l' for LZSS or 'b' for BWT + RLE
      --performance       run performance tests
      --showbwt           displays the BWT transformation of the input
  -v, --verify            decompresses the file and verifies that the
                            decompression matches original content                       

You can run the project using gradle

./gradlew <filename> -m <l or b>

or build the project using

./gradlew fatJar

and run

java -jar tirautin <filename> -m <l or b> <additional flags>

There is also a ready made jar -file in releases. Please notice that the config.properties -file included in the releases needs to be in the same folder as the jar -file that is being run.

I've included two files: poem.txt is a poem in English and nucleotide-sample.txt contains some DNA sequences.