Java 如何解析用于分析的自定义文本文件

Java 如何解析用于分析的自定义文本文件,java,parsing,Java,Parsing,我有一个这样的日志文件: 1352711989.822313 SENDING SR packet SSRC 3760482201 NTP timestamp: 1352711989.822293 RTP timestamp: 30163617 Packets sent: 17 Octets sent: 85 RR block 1

我有一个这样的日志文件:

1352711989.822313 SENDING
  SR packet
    SSRC                  3760482201
    NTP timestamp: 1352711989.822293
    RTP timestamp:          30163617
    Packets sent:                 17
    Octets sent:                  85
    RR block 1
      SSRC                2520738017
      Fraction lost:               0
      Packets lost:                0
      Ext. high. seq. nr:      64175
      Jitter:                   2947
      LSR:                1035041236
      DLSR:                   284839
    RR block 2
      SSRC                2158728709
      Fraction lost:              14
      Packets lost:               43
      Ext. high. seq. nr:      54178
      Jitter:                    394
      LSR:                1035176766
      DLSR:                   149303
    RR block 3
      SSRC                 100700967
      Fraction lost:              36
      Packets lost:              120
      Ext. high. seq. nr:      45647
      Jitter:                   2365
      LSR:                1035002733
      DLSR:                   323342
  SDES Chunk:
    SSRC:                 3760482201
我想把每个块解析成一个对象,所以我用java创建了一些类。 现在有没有一种方法可以顺利地浏览这篇文章,并将所有内容都放在正确的var中,然后对整个文本文件都这样做


因此,最后我有一个包含这些信息的对象列表。

因为这里的一切看起来都是名称-值对,最简单的方法是迭代文件的行,并将每一行添加到映射中。如果名称块很重要,例如RR块2,您可以创建一个列表,在没有值时将当前名称块添加到其中,然后在使用相同缩进进入下一个名称块时将其弹出。

您可以提供一个从该数据创建的示例对象吗?您可以使用BufferedReader在文件的每一行上迭代。对于每一行,您需要检查它是否以某个短语开头,然后做出相应的决定。这是一种直截了当的方法。