2010-06-13 59 views
0

我是JavaME的初學者。我想做一個簡單的dicitionary。源數據放在「res」目錄下的「data.txt」文件中。結構是這樣的:如何製作簡單的J2ME

#apple =種的水果;
#菠菜=蔬菜的種類;

流程非常簡單。用戶在文本字段中輸入要搜索的單詞,例如「apple」,系統接受用戶輸入,讀取「data.txt」,搜索其中匹配的單詞,取對應的單詞,並將其顯示到另一個文本框/文本框。

我已經成功地閱讀整「的data.txt」使用此代碼..

private String readDataText() { 
    InputStream is = getClass().getResourceAsStream("data.txt"); 
    try { 
     StringBuffer sb = new StringBuffer(); 
     int chr, i=0; 
     while ((chr = is.read()) != -1) 
      sb.append((char) chr); 
     return sb.toString(); 
    } 
    catch (Exception e) { 
    } 
    return null; 
} 

,但我仍然不知道如何分割它,找到與用戶輸入匹配的單詞,並採取相應的字。希望有人願意分享他/她的知識來幫助我..

回答

-1

基本上你想是這樣的:

private String readDataText() { 
    InputStream is = getClass().getResourceAsStream("data.txt"); 
    BufferedReader br = new BufferedReader(new InputStreamReader(is)); 
    String line; 
    try { 
     while ((line = br.readLine()) != null) 
     { 
      String[] split = line.split("="); 
      if (split[0].equals("#someFruit")) 
       return split[1]; 
     } 
    } 
    catch (Exception e) {} 
    return null; 
} 
  1. 閱讀使用BufferedReader,無需處理單char S上的線。
  2. =令牌分行
  3. 檢查字典中的密鑰是否是所需密鑰,如果是,則返回值。
+0

如果該值包含「=」,結果將只包含第一部分 – mhaller 2010-06-13 09:46:46

+1

我們不能在J2ME中使用BufferedReader,對嗎? – 2010-06-13 10:49:34

+0

http://stackoverflow.com/questions/200239/how-do-i-read-strings-in-j2me – 2010-06-13 10:56:22