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.

War es hilfreich?

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 einem int zu lesen.
  • Wenn das Zeichen ein 'd', Verwendung readDouble() im double 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top