我需要大量的2D点和一些小的关联数据来存档。文件将由第三人使用,用户希望将此文件用作其程序的输入。因此用户需要在他的程序中解析文件的内容。
我想使用像XML一样可读和自我记录的文件格式。但是使用XML会使文件至少大3倍。
有没有一种常用的方法来编写这样的数据,以便用户可以轻松理解它?
请注意,有一些额外数据条目比2D点更复杂。
任何建议都将受到赞赏。
编辑:问题不在于如何解析文件,而在于如何编写文件以便直观地解析文件。
编辑2:更具体一点:我正在编写具有N点和N个摄像头的3D场景的简单模拟器,因此每次我需要存储每个点的2D投影对于每个相机。当然,相机位置和方向需要存储在同一个文件中。
答案 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)
其中:
这应该很容易理解,因为你定义了每个摄像机的点数。使用StringTokenizer(至少在Java中),您可以轻松地拆分字符串,以获得所需的数据。