Witam,
Na wstępie zaznaczę, że jestem dotnetowcem, ale muszę sobie napisać aplikację na komórkę, konkretniej słownik. W tym celu, w swoim JARze umieściłem plik txt z 75000 linii. A ponizej zamieszczam kod, który służy mi do jego przeszukiwania po wciśnięciu przycisku szukaj:
stringItem1.setText("\n");
try{
in = new InputStreamReader(this.getClass().getResourceAsStream("words.txt"), "UTF-8");
}
catch(UnsupportedEncodingException e)
{}
catch(IOException e){}
StringBuffer sb = new StringBuffer();
int chr = 0;
try{
while ((chr = in.read()) != -1)
{
sb.append((char) chr);
if((char)chr=='\n')
{
if(sb.toString().toLowerCase().indexOf(textField.getString().toLowerCase())!=-1)
stringItem1.setText(stringItem1.getText()+sb.toString());
sb.delete(0, sb.length());
}
}
}
catch(IOException e){}
Moje pytanie brzmi. Czy da się przeszukiwać szybciej? Bo otrzymanie wyników trwa.. klika minut :(