作为一名 Java 程序员新手,我在尝试为我的个人项目分析数据时遇到了相当大的障碍。我有一个包含 ~33.5k 数据点的文本文件,格式如下:
PointNumber: 33530
Lat: 8.99167773897820e-001
Lon: 6.20173660875318e+000
Alt: 0.00000000000000e+000
NumberOfAccesses: 4
0 4.80784667215499e+003 4.80872732950073e+003
0 1.05264215520092e+004 1.05273043378212e+004
1 1.65167780853593e+004 1.65185840063538e+004
1 6.52228387069902e+004 6.52246514228552e+004
最后一行,即以 0 或 1 开头的行,对应于 Number of Accesses 行中的整数。我想解析文件并在每个访问实例之后打印 Lat、Lon 和两个值,只有 PointNumbers 具有超过 1 个访问次数。
我不确定是从扫描仪或标记器开始还是编译模式。哪种技术使仅存储有效的 PointNumber 更容易?直觉告诉我解析文件,将相关值放入对象中:
PointNumber num1 = new PointNumber(lat, lon, accesses[]);
然后遍历对象并打印对象的值,如果访问数组长度> 1。另一方面,最好忽略不符合要求的信息。这可以通过在解析时检查 NumberOfAccesses 值然后跳转到下一个 string.startsWith("PointNumber:") 如果值 <= 1 来完成吗?
我感觉这个社区的绝大多数人都会尝试引导我使用 XML 或 YAML,但我更喜欢尝试用 Java 来解决这个问题。任何建议、方向或适用的例子总是非常感谢。