У меня есть программа, которая ищет через мини-базу данных, которую я создал в текстовом файле, все работает отлично, за исключением того факта, что какая бы ни была последняя строка в последней строке данные не распознаются, и всякий раз, когда я пытаюсь его найти, он не работает, и мне сообщают, что данных в базе данных нет, хотя это очень ясно, когда я смотрю на txt-файл.Поиск по данным - не чтение последней строки
Мне удалось получить обход для этого, но добавив фальшивую линию в самом конце, у которой не было данных, и что-то, что я использовал бы, например, «xxxxxxxxxx», а затем он смог прочитать данные сверху, изначально это была последняя строка. Проблема заключается в том, что я также должен иметь возможность добавлять данные к функции прямо из моей java-программы, и было бы очень утомительно сначала удалить эту фальшивую строку, добавить мою информацию, а затем снова ввести фальшивую строку , поэтому я пытаюсь понять, почему он не ищет последнюю строку моих данных.
Вот код для одного из моих поисков:
BufferedReader i = new BufferedReader (new FileReader ("Elements.txt"));
String data=i.readLine();
while (data!=null)
{
String database[]=data.split(",");
data=i.readLine();
if (data!=null)
{
for (int x=0;x<data.length(); ++x)
{
if (database[0].equalsIgnoreCase(elementName))
{
element=database[0];
symbol=database[1];
atomicNumber=database[2];
atomicMass=database[3];
valence=database[4];
found=true;
break;
}
}
}
}
Вот данные, которые он ищет через: http://i.imgur.com/GeXQhTh.png
Любая идея о том, как это исправить?
Пожалуйста, пожалуйста, пожалуйста, поместите данные в [Pastebin] (http://pastebin.com/) или что-то подобное, если вы не хотите этого в самом вопросе. Не скриншот. Таким образом, мы можем напрямую копировать/вставлять, а не расшифровывать. –
вывод вашего кода? – gifpif
вы также пропустите первую строку. До цикла while вы уже i.readLine(); и во время цикла снова вызовите i.readLine(); поэтому я думаю, что вы также пропустили первую строку – gifpif