保存/读取二进制文件中的整数矩阵并读取它们

时间:2015-05-27 18:55:28

标签: java bitstream

我想知道如何将整数矩阵保存到二进制文件中并将其读回。

矩阵可能类似于

>> touch input.bar input.baz input.foo

>> echo "#\!/bin/sh" > script && chmod +x script

>> tree
.
├── input.bar
├── input.baz
├── input.foo
├── SConstruct
└── script

0 directories, 5 files

>> scons --version
SCons by Steven Knight et al.:
    script: v2.3.4, 2014/09/27 12:51:43, by garyo on lubuntu
    engine: v2.3.4, 2014/09/27 12:51:43, by garyo on lubuntu
    engine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001 - 2014 The SCons Foundation

>> scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
./script --special-in input.bar --special-in input.baz output.foo output.dir
scons: done building targets.

我能够以二进制形式保存它,但我不知道我应该再次阅读它们并且能够将每行分开(矩阵可以有超过4列我只是随机选择了这一行)。

顺便说一下,如果上面的矩阵,结果文件是 16位吗?

1 个答案:

答案 0 :(得分:0)

您可以将数据作为字符“0”和“1”的行写入文件,并使用换行符(\ n)拆分行。

但是如果你真的想将数据保存为单独的位以节省空间,那么如果没有在文件中明确指定矩阵,你将无法分辨矩阵的维度。您可以将维度写为文件中的两个第一个字节,然后将数据写为平面位流(例如,使用java.util.BitSet.toByteArray())。