巨大的点数组到可读文件

时间:2012-06-03 08:54:18

标签: xml file

我需要大量的2D点和一些小的关联数据来存档。文件将由第三人使用,用户希望将此文件用作其程序的输入。因此用户需要在他的程序中解析文件的内容。

我想使用像XML一样可读和自我记录的文件格式。但是使用XML会使文件至少大3倍。

有没有一种常用的方法来编写这样的数据,以便用户可以轻松理解它?

请注意,有一些额外数据条目比2D点更复杂。

任何建议都将受到赞赏。

编辑:问题不在于如何解析文件,而在于如何编写文件以便直观地解析文件。

编辑2:更具体一点:我正在编写具有N点和N个摄像头的3D场景的简单模拟器,因此每次我需要存储每个点的2D投影对于每个相机。当然,相机位置和方向需要存储在同一个文件中。

1 个答案:

答案 0 :(得分:1)

您可以逐行阅读并使用正则表达式检查该行上是否存在2D坐标或其他类型的信息,并在程序中使用它。


编辑:

我建议使用如下输入文件:

2
c 1
p (x,y)
o 180
8
(x,y)
(x,y)
(x,y)
(x,y)
(x,y)
(x,y)
(x,y)
(x,y)
c 2
p (x,y)
o 270
2
(x,y)
(x,y)

其中:

  • 第一个数字是相机的数量
  • 每台相机都有:
    • 相机ID
    • 相机的坐标
    • 该相机的点数
    • 坐标

这应该很容易理解,因为你定义了每个摄像机的点数。使用StringTokenizer(至少在Java中),您可以轻松地拆分字符串,以获得所需的数据。