Java Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Java Examples

Quick Start
Unicode
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
SFTP
Signatures
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
Upload
XML
XMP
Zip

More Examples...
Email Object
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Icon

 

 

 

 

 

 

 

PPMD String Compression

Demonstrates string compression using PPMD.

The functionality in this example is available in pre-release only:

Download Chilkat Java Library (Pre-Release)

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    CkCompression compress = new CkCompression();

    //  Any string argument automatically begins a 30-day trial.
    boolean success;
    success = compress.UnlockComponent("30-day trial");
    if (success != true) {
        System.out.println("Compression component unlock failed");
        return;
    }

    compress.put_Algorithm("ppmd");

    String strData;
    int i;

    //  Create a long string to compress.
    strData = "abcdefg1122334455667788";
    strData = strData + "\r\n";
    for (i = 0; i <= 99; i++) {
        strData = strData + "abcdefg1122334455667788";
        strData = strData + "\r\n";
    }

    //  Depending on the programming language, the string
    //  may be Unicode.  Tell the component to convert to
    //  ansi (1-byte/char) prior to compression:
    compress.put_Charset("ansi");

    //  Compressed data is binary, meaning that all byte values
    //  from 0 to 255 are possible.  The result would not be
    //  a printable string.  To receive a printable string (us-ascii),
    //  the resultant compressed data should be encoded using
    //  an encoding such as base64.  Set the EncodingMode
    //  property to determine the output encoding:
    //  (Valid choices are "base64", "hex", "url", and others)
    compress.put_EncodingMode("base64");

    //  Note: Base64 encoding expands the compressed data by
    //  4/3rds because each 3 bytes of binary data are represented
    //  by 4 printable chars.  Hex, for example, doubles the output
    //  size because each byte is represented by 2 printable chars.

    //  PPMD compress the string:
    String compressedStr;
    compressedStr = compress.compressStringENC(strData);
    if (compressedStr == null ) {
        System.out.println(compress.lastErrorText());
        return;
    }

    //  Display the compressed string.
    //  The result will be:
    //  ec8YZ5vk9za18d0plwuV7R65em9OZge9gJXht/QAAAAAAAAAABNOZQAAKw==
    System.out.println(compressedStr);

    //  Decompress back to the original:
    String strOriginal;
    strOriginal = compress.decompressStringENC(compressedStr);

    //  Display the uncompressed original:
    System.out.println("--- Original ---");
    System.out.println(strOriginal);
  }
}

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.