在一个周期读取android两行文件

时间:2015-02-11 18:20:21

标签: android file

我正在尝试在Android中逐行阅读文件。

假设前两行是键值对,第三行是另一个键值对,因此一直到文件末尾。

如何在一个循环中一次读取两行,以便将其作为键值存储在散列映射中?

我目前正在使用的代码:

InputStream instream = new FileInputStream(TEST_FILE_NAME);
if (instream != null) {
  InputStreamReader inputreader = new InputStreamReader(instream);
  BufferedReader buffreader = new BufferedReader(inputreader);
  String line;
  do {
    line = buffreader.readLine(); // do something with the line
  } while (line != null);
} 

1 个答案:

答案 0 :(得分:0)

进行循环,并添加一个处理行处理的processKeyValue(String, String)调用,这样的事情应该有效:

InputStream instream = new FileInputStream(TEST_FILE_NAME);
InputStreamReader inputreader = new InputStreamReader(instream);
BufferedReader buffreader = new BufferedReader(inputreader);
String key, value;
do {
  key = buffreader.readLine();
  if(key != null) {
    value = buffreader.readLine();

    processKeyValue(key, value); // Note that value may be null.
  }
} while (key != null && value != null);

我还删除了您的if语句,因为instream在创建后永远不会null