Java バイナリ ファイル writeUTF…仕様の説明
-
24-09-2019 - |
質問
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
.
所属していません StackOverflow