如何搜索文件的内容并只读取文件的一部分

时间:2012-04-04 12:00:36

标签: android

我正在使用JSON-RPC。当我向服务器发送请求时,我得到服务器的响应,这个响应差不多是2MB。数据中没有换行符。我们知道,不可能将所有2MB数据存储在字符串中,我必须将数据写入文件。

这就是我的文件:

  

[{ “DATA1”: “DATA1”,...},{...},...]

我想逐个读取数据,比如获取“{”和“}”之间的字符串,这样我就可以获得1个JSON对象的确切内容,之后我可以解析数据。

我已经提到了这个link,但我不会得到“{”和“}”的位置来复制我的JSON数据。

有没有办法实现这样的事情?

2 个答案:

答案 0 :(得分:2)

您也可以使用

  

com.google.gson.stream.JsonReader.JsonReader

在从服务器获取数据时编译对象。无需存储到String或从文件中写入和读取

答案 1 :(得分:0)

您应该使用regex pattern

或多或少这样的事情:

Pattern pattern = Pattern.compile( "{(.*?)}" );
Matcher matcher = pattern.matcher( response );
while( matcher.find() ) {
  String jsonString = "{" + matcher.group( 0 ) +"}" ;
  //parse the json
}