任何人都可以幫助我從txt文件中提取電話號碼。我在標有id的文件夾中有很多txt文件。如果用戶輸入了某個id,midlet將讀取文件標題id.txt,然後讀取字符串作爲文件中的電話號碼,然後將消息發送到該字符串(例如,如果輸入爲1,則讀取爲1。 txt返回字符串123467890,然後發送消息到1234567890)。J2ME從txt文件中提取電話號碼
但現在我的問題是,我可以通過代碼讀取TXT文件:
**public String Loadnumber(String fileName){
String str="";
try{
FileConnection fc =(FileConnection)Connector.open("file://localhost/root1/res/number/"+fileName);
if(!fc.exists()){
hrow new IOException("File does not exist");
}
InputStream is=fc.openInputStream();
byte b[]=new byte[1024];
int length = is.read(b,0,1024);
str = new String (b,0,length);
}catch(Exception e){
}
return str;
}****
然後我插入Loadnumber功能的電話號碼地址框中返回字符串:
**String number= new String(Loadnumber(id+".txt"));
destinationAddressBox.insert(number,0);**
DestinationAddressBox是電話號碼框,當我輸入id並按下按鈕時它會顯示此框,我宣佈它爲:
**destinationAddressBox = new TextBox("phone number", number,1024,TextField.PHONENUMBER);
destinationAddressBox.addCommand(okCommand);
destinationAddressBox.setCommandListener(this);**
但是當我運行它,然後按下後進入的id中的確定按鈕,也不會提示,在地址框中,並給我的錯誤消息:
**java.lang.IllegalArgumentException
at javax.microedition.lcdui.TextField.insert(+55)
at javax.microedition.lcdui.TextField.insert(+14)
at javax.microedition.lcdui.TextBox.insert(+9)
at example.sms.SMSSend.commandAction(+72)
at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282)
at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(+10)
at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68)
at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+186)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+57)**
但是,如果我改變了文本框作爲TextField.ANY而不是爲TextField.PHONENUMBER,它會提示的地址欄中,並顯示在我的txt文件中的電話號碼,但它不會發送郵件,給我的錯誤的messge:
**java.lang.IllegalArgumentException: Host format
at com.sun.midp.io.j2me.sms.Protocol.openPrimInternal(+198)
at com.sun.midp.io.j2me.sms.Protocol.openPrim(+8)
at javax.microedition.io.Connector.openPrim(+299)
at javax.microedition.io.Connector.open(+15)
at javax.microedition.io.Connector.open(+6)
at javax.microedition.io.Connector.open(+5)
at example.sms.SMSSend.run(+100)**
我猜textfield很重要。我怎麼能平衡呢? 非常感謝你提前!
文件中的數字有某種分隔符,如' - ','。','('或')'? –