Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
整数の行列をバイナリ ファイルに保存して読み返す方法を知りたいです。
マトリックスは次のようになります
double mat[][] = {{1, 0, 0, 0}, {1, 0, 1, 1}, {0, 1, 1, 0}};
これをバイナリ形式で保存できますが、それらを再度読み取って各行を区別できるようにする方法がわかりません(マトリックスには4つ以上の列がある可能性があり、これをランダムに選択しました)。
ところで、上記の行列の場合、結果のファイルは16 ビットになりますか?
データを文字 '0' と '1' の行としてファイルに書き込み、行を改行 (\n) で分割することができます。
しかし、スペースを節約するためにデータを個々のビットとして保存したい場合は、ファイルで明示的に指定しないと行列の次元を知ることができません。次元をファイルの最初の 2 バイトとして書き込んでから、データをフラットなビット ストリームとして書き出すことができます (たとえば、 を使用java.util.BitSet.toByteArray())。
java.util.BitSet.toByteArray()