package entropie; import java.io.*; /** * @author euler * */ public class Entropie { long[] zaehler = null; // Zähler für Häufigkeit long count; // Gesamtzahl /** * Hier soll die Entropie berechnet werden */ public void berechneEntropie() { } /** * Schreibt die gefundenen Häufigkeiten in die angegebene Datei * Keine Änderungen notwendig */ public void speichereZaehler() { String dateiName = "zaehler.txt"; try { PrintWriter dout = new PrintWriter(new FileOutputStream(new File( "..", dateiName))); for (long z : zaehler) dout.println(z); dout.close(); System.out.println("Zähler in Datei " + dateiName + " geschrieben"); } catch (Exception ex) { System.out.println("Fehler " + ex); ex.printStackTrace(); } } /** * @param datei * Zähle die Häufigkeit der einzelnen Zeichen in der * angegebenen Datei * Keine Änderungen notwendig */ public void zaehleDatei(String datei) { zaehler = new long[256]; count = 0; DataInputStream quelle = null; try { quelle = new DataInputStream(new FileInputStream(datei)); while (true) { int code = quelle.readUnsignedByte(); zaehler[code]++; count++; } } catch (EOFException e) { System.out.println(datei + ": "); System.out.println(count + " Byte gelesen "); } catch (IOException e) { System.out.println(e.getMessage()); } try { quelle.close(); } catch (IOException e) { e.printStackTrace(); } } }