提高缓冲读卡器的效率

时间:2018-02-12 18:00:16

标签: java android json

嗨,所以即时通讯使用api来搜索书籍。 http://openlibrary.org/search.json?q=prolog

然后我运行一个缓冲搜索(下面)来读取每一行并使用IF语句选择我想要的行

“title_suggest”:“Prolog”,

 URL search = new URL("http://openlibrary.org/search.json?q="+searchingTerm);//search string
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(search.openStream()));
            String inputLine;
            while ((inputLine = in.readLine()) != null) //read file

例如:如果inputLine包含title_suggest,则将inputLine添加到arrayList。

然而,这是非常缓慢的,我想知道是否有更有效的方式来读取数据?

2 个答案:

答案 0 :(得分:1)

我无法想象与通过互联网检索数据相比,解析是一个巨大的时间。但是,无论你做什么,最好还是使用真正的JSON解析器,而不是卷起你自己的解析器,特别是如果你依赖if语句这样做的话。

另外,请确保您发送给API的查询与您可以进行的限制一样,经过所有更准确的数据后,他们可以为所有相关方提供更好的信息。

答案 1 :(得分:1)

  

这很慢

BufferedReader并非“非常缓慢”。它非常快。您可以使用BufferedReader.readLine()每秒读取数百万行。

缓慢的部分是处理每一行的代码。或者服务器可能会慢速执行查询或传递数据。

你在这里咆哮着错误的树。