我正在尝试在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);
}
答案 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
。