Witam posiadam taki oto kod:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.io.*;
import java.io.*;
public class slownik extends MIDlet implements CommandListener{
TextField tekst;
InputStreamReader in;
StringItem stringItem1;
Form form;
String h="";
TextField dooo;
public slownik()
{
form=new Form("");
tekst=new TextField("Skad","",100,TextField.ANY);
dooo=new TextField("Dokad","",100,TextField.ANY);
stringItem1=new StringItem("","");
form.append(stringItem1);
Command p=new Command("ok",Command.OK,0);
Command p1=new Command("Koniec",Command.EXIT,1);
form.append(tekst);
form.append(dooo);
form.addCommand(p);
form.addCommand(p1);
form.setCommandListener(this);
Display.getDisplay(this).setCurrent(form);
}
public void commandAction(Command c, Displayable s)
{
if(c.getCommandType()==Command.OK)
{form.append(tekst.getString());
stringItem1.setText("\n");
try{
in = new InputStreamReader(this.getClass().getResourceAsStream("/rozklad.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(tekst.getString().toLowerCase())!=-1)&&(sb.toString().toLowerCase().indexOf(dooo.getString().toLowerCase())!=-1))
{ //stringItem1.setText(stringItem1.getText()+sb.toString());
String co=sb.toString();
trasa(co);
//** do tąd
}
sb.delete(0, sb.length());
}
}
}
catch(IOException e){}
}
else
{
notifyDestroyed();
}
}
//funkcja wypisujaca godziny
public void godzina(String co)
{
int i=0;
int y=0;
while(i<=co.length())
{
String u="";
u= co.substring(i,i+1);
if(u.equals(":"))
{
y++;
}
if(y==4)
{
h=co.substring(i+1,i+1+5);
break;
}
i++;}
}
public void trasa(String co)
{
int i=0;
int y=0;
String coo="";
String mod="";
String mdo="";
h="";
String od=tekst.getString();
String doo=dooo.getString();
while(i<co.length())
{
String u="";
u= co.substring(i,i+1);
if(u.equals(";"))
{
y++;
}
if(y==1)
{
mod+=co.substring(i+1,i+2);
}
if(y==2)
{
mdo+=co.substring(i,i+1);
}
if(y==4)
{
h=co.substring(i+1,i+6);
h+=",";
break;
}
i++;
}
mdo=mdo.substring(1);
mod=mod.substring(0,mod.length()-1);
if((mod.equals(tekst.getString()))&&(mdo.equals(dooo.getString())))
{
form.append(h);
}
else
{
form.append("brak rozkładu");
}
}
public void startApp(){}
public void pauseApp(){}
public void destroyApp(boolean b){}
}
I gdy wpiszę skad: Nowy Sącz dokąk Krakow to na emulatorze j2me toolkit wyszukuje mi dane połączenie natomiast po wgraniu na telefon już nie. Podejrzewam że problemem są polskie znaki.
in = new InputStreamReader(this.getClass().getResourceAsStream("/rozklad.txt"), "utf-8");
Proszę o pomoc