我想知道如何将整数矩阵保存到二进制文件中并将其读回。
矩阵可能类似于
>> 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位吗?
答案 0 :(得分:0)
您可以将数据作为字符“0”和“1”的行写入文件,并使用换行符(\ n)拆分行。
但是如果你真的想将数据保存为单独的位以节省空间,那么如果没有在文件中明确指定矩阵,你将无法分辨矩阵的维度。您可以将维度写为文件中的两个第一个字节,然后将数据写为平面位流(例如,使用java.util.BitSet.toByteArray()
)。