Могу я попросить вас рассказать мне, как я могу решить эту проблему? Мне нужно сравнить inputWord с строкой внутри .txt-файла, и если она найдена, верните всю строку, но если нет, покажите «слово не найдено».Android - Сравнение ввода строк в текстовом файле
Пример:
inputWord: abacus
Text file content:
abaca - n. large herbaceous Asian plant of the banana family.
aback - adv. archaic towards or situated to the rear.
abacus - n. a frame with rows of wires or grooves along which beads are slid, used for calculating.
...
so on
Returns: abacus with its definition
Что я пытаюсь сделать, это сравнить мой inputWord на слова перед «-» (дефис в качестве разделителя), если они не матч, перейти к следующей строке. Если они совпадают, скопируйте всю строку.
Надеюсь, что это не похоже на то, что я просил вас «сделать домашнее задание», но я попробовал учебники вокруг разных форумов и сайтов. Я также читаю java docs, но я действительно не могу их собрать, чтобы выполнить это.
Спасибо заранее!
UPDATE:
Вот мой текущий код:
if(enhancedStem.startsWith("a"))
{
InputStream inputStream = getResources().openRawResource(R.raw.definitiona);
try {
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
String s = in.readLine();
String delimiter = " - ";
String del[];
while(s != null)
{
s = in.readLine();
del = s.split(delimiter);
if (enhancedStem.equals(del[0]))
{
in.close();
databaseOutput.setText(s);
break;
}
}
in.close();
}
catch (FileNotFoundException e) {
databaseOutput.setText("" + e);
}
catch (IOException e1) {
databaseOutput.setText("" + e1);
}
}
Спасибо большое! Вот что я придумал, и он правильно возвращает определение входов, но проблема в том, что когда я ввожу слово, не найденное в текстовом файле, приложение выходит из строя. Фраза catch не работает. Подумайте, как я могу это поймать? Logcat говорит NullPointerExcepetion на линии 4342, которая является
s = in.readLine();
Привет! Большое вам спасибо за ответ. Я попробую этот код, как только я вернусь домой! :) –
У меня ошибка: java.io.FileNotFoundException:: open failed: ENOENT (нет такой файл или каталог) Я попытался помещать их вместо «файла»: «C: \\ workspace \\ raw \\ definitiona.txt \\" и "\\ res \\ raw \\ definitiona. txt " но оба говорят, что не найдено. –
Попробуйте удалить лишний \\ в конце из «C: \\ workspace \\ raw \\ definitiona.txt \\ ". Должен работать –