streams
Class SHOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by streams.SHOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class SHOutputStream
extends java.io.FilterOutputStream

Trida, ktera umoznuje zakodovani dat statickym Huffmanovym kodovanim. Pouziva se semiadaptivni verze algoritmu, datovy model je odeslan jako cetnosti jednotlivych bytu zakodovanych Fibonacciho kodem radu 2.


Field Summary
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
SHOutputStream(java.io.OutputStream os)
          Vytvori koder statickeho Huffmanova kodu.
 
Method Summary
protected static ByteInfoSH buildHuffmanTree(ByteInfoSH[] byteTable)
           
 void close()
          Provede flush a uzavre stream.
 void flush()
          Vypise do vystupu statisticky model, vytvori kody znaku a zapise zakodovana data.
 void write(int b)
          Zapise data - vytvari statisticky model a zapisovana data uklada do docasneho souboru.
 
Methods inherited from class java.io.FilterOutputStream
write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SHOutputStream

public SHOutputStream(java.io.OutputStream os)
               throws pradny.UnsupportedOutputException,
                      java.io.IOException
Vytvori koder statickeho Huffmanova kodu.

Parameters:
os - vystup pro data
Throws:
pradny.UnsupportedOutputException - pri nevhodnem vystupu
java.io.IOException - pri I/O chybe
Method Detail

write

public void write(int b)
           throws java.io.IOException
Zapise data - vytvari statisticky model a zapisovana data uklada do docasneho souboru.

Overrides:
write in class java.io.FilterOutputStream
Parameters:
b - zapisovana data
Throws:
java.io.IOException - pri I/O chybe

flush

public void flush()
           throws java.io.IOException
Vypise do vystupu statisticky model, vytvori kody znaku a zapise zakodovana data. Po flush uz neni dalsi zapis mozny.

Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.FilterOutputStream
Throws:
java.io.IOException - pri I/O chybe

buildHuffmanTree

protected static ByteInfoSH buildHuffmanTree(ByteInfoSH[] byteTable)

close

public void close()
           throws java.io.IOException
Provede flush a uzavre stream.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterOutputStream
Throws:
java.io.IOException - pri I/O chybe