private void kirjoitaPakattuTiedosto(BufferedReader r, BittiOutputStream bos) throws FileNotFoundException, IOException {
		
		char[] lahdeTaulukko = new char[pakkausBlokkiKoko];
		int yhteensaTavujaLuettu = 0;
		int loopissaTavujaLuettu = 0;
		int yhteensaTavujaKirjoitettu = 0;
			
		byte tavu = 0;
		int yhteensaBittiLaskuri = 0;
		int tavuLaskuri = 0;
		
		while ((loopissaTavujaLuettu = r.read(lahdeTaulukko))>0) {
			//Kirjoitetaan jokainen merkki Huffman-koodina StringBufferiin...
			yhteensaTavujaLuettu += loopissaTavujaLuettu;
			for (int i = 0; i < loopissaTavujaLuettu; i++) {
				byte[] koodi = ((String)merkistaKoodi.annaArvo(lahdeTaulukko[i])).getBytes();
				int koodiBitit = 0;
				for (int j = 0; j < koodi.length; j++) {
					koodiBitit = koodiBitit << 1;
					if (koodi[j] == '1')
						koodiBitit = koodiBitit | 1;
				}
				bos.write(koodi.length, koodiBitit);
				yhteensaBittiLaskuri += koodi.length;
			}
		}
		//Lasketaan biteist kirjoitut tavut:
		tavuLaskuri = yhteensaBittiLaskuri/8;
		//..ja listn viimeinen tavu jos niit ei ollut tasamr:
		if ((yhteensaBittiLaskuri % 8) == 0) {
			tavuLaskuri++;
		}
		System.out.println("Yhteens " + yhteensaTavujaLuettu + " tavua luettu lhdetiedostosta");
		System.out.println("Yhteens " + tavuLaskuri + " tavua dataa kirjoitettu kohdetiedostoon");
		double teho = (double)tavuLaskuri / (double)yhteensaTavujaLuettu * 100;
		DecimalFormat df = new DecimalFormat("#.##");
		System.out.println("Pakkaustehokkuus: " + df.format(teho) + " % (ei ota huomioon sanaston viem tilaa)");
	}