Java-Binärdateien writeUTF ... erklären Spezifikationen
-
24-09-2019 - |
Frage
Ich studiere Java auf meinem eigenen. Eine der Übungen ist die folgende, aber ich nicht wirklich verstehen, was es zu .... irgendwelche intelligente Java-Gurus da draußen bittet, dass dies genauer und einfachen Worten erklären könnte? Dank
Nehmen wir an, dass Sie eine binäre Datei, die Zahlen whos Typ enthält entweder int oder doppelt so hoch ist. Sie brauchen nicht die Reihenfolge der Zahlen in der Datei kennen, aber ihre Bestellung wird in einer Zeichenkette am Anfang der Datei aufgezeichnet. Der String besteht aus dem Buchstaben i für int, und D für doppelte, in der Reihenfolge der Arten der folgenden Zahlen. Die Zeichenfolge wird geschrieben, um die Methode writeUTF verwendet wird.
Zum Beispiel die Zeichenfolge „iddiiddd“ angezeigt, dass die Datei acht Werte enthält, wie folgt:. Eine ganze Zahl, gefolgt von zwei Doppelzimmer, gefolgt von zwei ganzen Zahlen, gefolgt von drei Doppelzimmer
Bitte lesen Sie diese Binärdatei und erstellen Sie eine neue Textdatei der eine auf eine Zeile geschrieben Werte.
Lösung
writeUTF
ist eine Methode, auf DataOutputStream
, und Sie können in den entsprechenden Daten unter Verwendung der readUTF
Methode auf DataInputStream
lesen. Daher sind die Schritte, um die Binärdatei zu lesen sind:
- Öffnen Sie ein neues
DataInputStream
- Lesen Sie in der Zeichenfolge mit
readUTF
- Schleife durch die Zeichen der Zeichenfolge einer nach dem anderen.
- Wenn das Zeichen ein 'i', Verwendung
readInt()
in einemint
zu lesen. - Wenn das Zeichen ein 'd', Verwendung
readDouble()
imdouble
zu lesen. - Schließen Sie die
DataInputStream
.
Sie werden auch diese aus in eine Textdatei zu schreiben, für die Sie eine FileWriter
verwenden können.