1. 程式人生 > >Android中(java)讀取以key=value形式儲存在txt等文字檔案的資料

Android中(java)讀取以key=value形式儲存在txt等文字檔案的資料

最近業務上用到了天氣查詢介面,因為輸入源僅有城市名稱,介面需要用到的是城市程式碼,為了實現功能,以key=value形式把全部城市和程式碼持久化到了本地txt檔案。

這是用StringTokenizer(雖然這是一個遺棄類,但是對於小萌新來說還是挺不錯的)做的一個功能函式讀取txt中的key=value儲存到map集合返回:

public Map readKeyValueTxtToMap() {               
      //迴圈直至返回map
      while (true) {
            final HashMap keyValueMap = new HashMap();//儲存讀取資料keyValueMap
//每一個迴圈讀取一組key=value while (true) { try { final InputStream open = this.getAssets().open( "key_value.txt"); final byte[] readArray = new byte[open.available()]; open.read(readArray); open.close(); final
StringTokenizer allLine = new StringTokenizer(new String(readArray, "UTF-8"), "\r\n");//以"\r\n"作為key=value的分解標誌 while (allLine.hasMoreTokens()) { final StringTokenizer oneLine = new StringTokenizer(allLine.nextToken(), "=");//以"="作為分解標誌 final
String leftKey = oneLine.nextToken();//讀取第一個字串key if (!oneLine.hasMoreTokens()) { break; } final String rightValue = oneLine.nextToken();//讀取第二個字串value hashMap.put(leftKey, rightValue); } return keyValueMap; } catch (IOException e) { e.printStackTrace(); return keyValueMap; } } } }