/***************************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Das Programm zeigt die byteorientierte Datei-Ein-/Ausgabe: */ /* Werte werden in ihrer Bitdarstellung in die Datei geschrie- */ /* ben, sind also fuer den menschlichen Benutzer nicht lesbar. */ /***************************************************************/ import java.io.*; public class DateiByte { public static void main(String args[]) throws IOException { /* Datei 'testdatei' oeffen bzw. erzeugen und ihren Inhalt loeschen */ FileOutputStream fileOut = new FileOutputStream("testdatei"); /* Randbemerkung: Oeffnen zum Anhaengen durch "... new FileOutputStream("testdatei",true)" */ /* geoeffnete Datei mit einem DataOutputStream-Objekt verketten, (diese Klasse bietet differenzierte Ausgabemethoden fuer die einzelnen Typen) */ DataOutputStream dataOutStr = new DataOutputStream(fileOut); /* Variablen mit auszugebenden Werten erzeugen */ byte byte_zahl = 1; short short_zahl = 22; int int_zahl = 333; long long_zahl = 4444; float float_zahl = 55555.5f; double double_zahl = 666666.66; char char_wert = 'a'; String string_var = new String("TEXT"); /* Werte in Datei ausgeben */ dataOutStr.writeByte(byte_zahl); dataOutStr.writeShort(short_zahl); dataOutStr.writeInt(int_zahl); dataOutStr.writeLong(long_zahl); dataOutStr.writeFloat(float_zahl); dataOutStr.writeDouble(double_zahl); dataOutStr.writeChar(char_wert); dataOutStr.writeUTF(string_var); /* Datei schliessen */ dataOutStr.close(); /* Variableninhalte loeschen */ byte_zahl = 0; short_zahl = 0; int_zahl = 0; long_zahl = 0; float_zahl = 0; double_zahl = 0; char_wert = ' '; string_var = null; /* Datei zur Eingabe oeffnen ... */ FileInputStream fileIn = new FileInputStream("testdatei"); /* ... und mit DataInputStream-Objekt verknuepfen */ DataInputStream dataInStr = new DataInputStream(fileIn); /* Werte in Variablen einlesen */ byte_zahl = dataInStr.readByte(); short_zahl = dataInStr.readShort(); int_zahl = dataInStr.readInt(); long_zahl = dataInStr.readLong(); float_zahl = dataInStr.readFloat(); double_zahl = dataInStr.readDouble(); char_wert = dataInStr.readChar(); string_var = new String(dataInStr.readUTF()); /* gelesene Werte ausgeben */ System.out.println(); System.out.println("Gelesene byte-Zahl: " + byte_zahl); System.out.println("Gelesene short-Zahl: " + short_zahl); System.out.println("Gelesene int-Zahl: " + int_zahl); System.out.println("Gelesene long-Zahl: " + long_zahl); System.out.println("Gelesene float-Zahl: " + float_zahl); System.out.println("Gelesene double-Zahl: " + double_zahl); System.out.println("Gelesener char-Wert: " + char_wert); System.out.println("Gelesener String: " + string_var); } }