質問

Javaを独学で勉強しています。演習の 1 つは次のとおりですが、何を求めているのかよくわかりません。これをもっと詳しく簡単な言葉で説明できる賢いJavaの達人はいるでしょうか?ありがとう

int または double 型の数値を含むバイナリ ファイルがあるとします。ファイル内の数字の順序はわかりませんが、その順序はファイルの先頭の文字列に記録されています。文字列は、int の場合は i、double の場合は d を、後続の数値の型順に並べたもので構成されます。文字列は writeUTF メソッドを使用して書き込まれます。

たとえば、文字列「iddiiddd」は、次のようにファイルに 8 つの値が含まれていることを示します。1 つの整数、次に 2 つの double、その後に 2 つの整数、その​​後に 3 つの double が続きます。

このバイナリ ファイルを読み取り、値を 1 行に 1 行ずつ書き込んだ新しいテキスト ファイルを作成します。

役に立ちましたか?

解決

writeUTF のメソッドです DataOutputStream, を使用して、対応するデータを読み取ることができます。 readUTF メソッドオン DataInputStream. 。したがって、バイナリ ファイルを読み取る手順は次のとおりです。

  • 新しいものを開く DataInputStream
  • を使用して文字列を読み取ります readUTF
  • 文字列の文字を一度に 1 つずつループします。
  • 文字が「i」の場合は、次を使用します。 readInt() で読む int.
  • 文字が「d」の場合は、次を使用します。 readDouble() で読む double.
  • それを閉めて DataInputStream.

これらをテキスト ファイルに書き出す必要もあります。そのためには、 FileWriter.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top