【发布时间】:2015-01-10 01:48:46
【问题描述】:
我有一个程序可以搜索我在文本文件中创建的迷你数据库,一切正常,除了数据的最后一行中的最后一行没有被识别以及每当我尝试时搜索它,它会失败,我被告知数据库中不存在数据,尽管当我查看 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 或类似的地方,如果你不希望它出现在问题本身中。不要截图。这样我们就可以直接复制/粘贴,而不必转录。
-
你的代码输出?
-
你也错过了第一行..在while循环之前你已经 i.readLine();并在 while 循环中再次调用 i.readLine();所以我想你也错过了第一行
标签: java database search text-files