Class PakattavaTiedosto

java.lang.Object
  extended by PakattavaTiedosto

public class PakattavaTiedosto
extends java.lang.Object

PakattavaTiedosto on pakattavan tiedoston kirjoittamiseen tarkoitettu luokka, jonka avulla tiedostosta saa luettua halutun mittaisia (bitteinä) koodeja. Se toimii siis eräänlaisena pienenä puskurina välissä.


Field Summary
private  int maxKoodipituus
           
private  int puskuri
           
private  int puskurinKoko
           
private  boolean saaKirjoittaa
           
private  int tavujaKirjoitettu
           
private  java.io.OutputStream tiedosto
           
 
Constructor Summary
PakattavaTiedosto(int maxKoodipituus, java.io.OutputStream tiedosto)
          Luo uuden pakatun tiedoston, joka käyttää annettua maksimikoodipituutta.
 
Method Summary
 void kirjoita(int koodi, int koodipituus)
          Kirjoittaa koodin annetulla koodipituudella tiedostoon.
 void paata()
          Päättää kirjoitettavan tiedoston, eli kirjoittaa loputkin puskurista tiedostoon.
 int paljonkoKirjoitettu()
          Kertoo tähän mennessä kirjoitettujen tavujen määrän.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxKoodipituus

private int maxKoodipituus

puskuri

private int puskuri

puskurinKoko

private int puskurinKoko

saaKirjoittaa

private boolean saaKirjoittaa

tavujaKirjoitettu

private int tavujaKirjoitettu

tiedosto

private java.io.OutputStream tiedosto
Constructor Detail

PakattavaTiedosto

public PakattavaTiedosto(int maxKoodipituus,
                         java.io.OutputStream tiedosto)
                  throws java.io.IOException
Luo uuden pakatun tiedoston, joka käyttää annettua maksimikoodipituutta.

Parameters:
maxKoodipituus - Suurin sallittu koodipituus, jolla tiedostoon kirjoitetaan.
tiedosto - Itse pakattava tiedosto.
Throws:
java.io.IOException
Method Detail

kirjoita

public void kirjoita(int koodi,
                     int koodipituus)
              throws java.io.IOException
Kirjoittaa koodin annetulla koodipituudella tiedostoon.

Parameters:
koodi - Tiedostoon kirjoitettava koodi.
koodipituus - Monellako bitillä koodi kirjoitetaan.
Throws:
java.io.IOException

paata

public void paata()
           throws java.io.IOException
Päättää kirjoitettavan tiedoston, eli kirjoittaa loputkin puskurista tiedostoon.

Throws:
java.io.IOException

paljonkoKirjoitettu

public int paljonkoKirjoitettu()
Kertoo tähän mennessä kirjoitettujen tavujen määrän.

Returns:
Kirjoitetun datan määrän tavuissa.