首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Buffered Reader返回并跳过行

Java Buffered Reader返回并跳过行
EN

Stack Overflow用户
提问于 2016-05-12 23:50:44
回答 1查看 84关注 0票数 0

如果我有一个从下面的文本文件中读取代码行的bufferedReader。例如,我如何让阅读器读取第一个项目的标签ITEM_TYPE,然后返回并读取标签代码,并继续到(第一个项目的)所有其他标签?

代码语言:javascript
复制
 ITEM_LIST
{
  ITEM
{
    CODE ADLS443
    ITEM_TYPE tv
    MODEL IDL32KJX4300
    MODEL_YEAR 2016
    MANUFACTURER Samsung
    PRICE 350
    PANEL_TYPE LCD
    DIMENSIONS 32
    RESOLUTION "Full HD"
    INTERFACES "HDMI USB SCART"
    PIECES 43
}
ITEM
{
    CODE KD444211
    ITEM_TYPE tv
    MODEL KDL49DDR4600
    MODEL_YEAR 2014
    MANUFACTURER Sony
    PRICE 600
    PANEL_TYPE LED
    DIMENSIONS 49
    RESOLUTION "Ultra HD"
    INTERFACES "HDMI USB SCART Ethernet WiFi"
    PIECES 8
}
EN

回答 1

Stack Overflow用户

发布于 2016-05-13 00:06:32

您可以在解析中添加一个中间步骤。

  1. 将所有键值对(用于节)解析到映射中。
  2. 使用映射值创建所需的对象。

在不知道其余代码的情况下,这里是一些关于如何解析数据的伪代码。

代码语言:javascript
复制
Map<String, String> values = new HashMap<>();
// For each key value pair in section
  String key = // parse key name
  String value = // parse key value
  values.put(key, value);

String type = values.get("ITEM_TYPE");
if (type.equals("tv"))
  TvObject tv = new TvObject(values);
}

编辑:

您不应该解析特定的键值,而应该解析文件的格式。

代码语言:javascript
复制
ITEM
{
    <key> <value>
    <key> <value>
    <key> <value>
}

下面是一个关于如何解析INI文件的example,您可以对其进行扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37191830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档