【问题标题】:Save/Read matrix of integers in a binary file and read them在二进制文件中保存/读取整数矩阵并读取它们
【发布时间】:2015-05-27 18:55:28
【问题描述】:

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

矩阵可能类似于

double mat[][] = {{1, 0, 0, 0}, {1, 0, 1, 1}, {0, 1, 1, 0}};

我能够以二进制形式保存它,但我不确定我应该如何再次读取它们并能够区分每一行(矩阵可能有超过 4 列,我只是随机选择了这一列)。

顺便说一下,在上述矩阵的情况下,生成的文件会是 16 位吗?

【问题讨论】:

  • 也许,在文件中保存数组的大小?

标签: java bitstream


【解决方案1】:

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

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

【讨论】:

  • 我就是这么做的。我的问题不是想出一种技术来做到这一点,而是我糟糕的 Java 知识。我不知道从哪里开始。最后我使用了FileOutputStream fileOutput = new FileOutputStream(file);。谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 2021-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多