2010-06-13 50 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