Как сделать простой диктонический J2ME - PullRequest
0 голосов
/ 13 июня 2010

Я новичок в JavaME. Я хотел бы сделать простой диктатор. Исходные данные помещаются в файл «data.txt» в каталоге «res». Структура выглядит так:

# яблоко = вид фруктов;
# шпинат = вид овощей;

Поток очень прост. Пользователь вводит слово, которое он хочет найти, в текстовое поле, например, «яблоко», система принимает пользовательский ввод, читает «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 Ответ

0 голосов
/ 13 июня 2010

В основном вы хотите что-то вроде этого:

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 с.
  2. Разделить строкупо = токену
  3. Проверьте, является ли ключ в словаре искомым ключом, если это так, верните значение.
...