張生工作室

          一切皆有可能

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            24 隨筆 :: 3 文章 :: 11 評論 :: 0 Trackbacks

           

          /*
           * ComplexFind.java
           *
           * Created on 2007年9月10日, 下午8:31
           
          */


          import java.io.ByteArrayInputStream;
          import java.io.ByteArrayOutputStream;
          import java.io.DataInputStream;
          import java.io.DataOutputStream;
          import javax.microedition.midlet.*;
          import javax.microedition.lcdui.*;
          import javax.microedition.rms.RecordEnumeration;
          import javax.microedition.rms.RecordFilter;
          import javax.microedition.rms.RecordStore;
          import javax.microedition.rms.RecordStoreException;

          /**
           *
           * 
          @author  Administrator
           * 
          @version
           
          */

          public class ComplexFind extends MIDlet implements javax.microedition.lcdui.CommandListener {
              
              
          private Display display;
              
          private Form form;
              
          private Alert alert;
              
          private Command exit;
              
          private Command start;
              
          private RecordStore recordstore =null;
              
          private RecordEnumeration recordenumeration=null;

              
          private Filter filter;
              
          public ComplexFind()
              
          {
                  display 
          =Display.getDisplay(this);
                  exit
          =new Command("Exit",Command.SCREEN,1);
                  start
          =new Command("Start",Command.SCREEN,1);
                  form
          =new Form("查詢復雜數據");
                  form.addCommand(exit);
                  form.addCommand(start);
                  form.setCommandListener(
          this);
              }

              
              
              
              
          public void startApp() {
                  display.setCurrent(form);
              }

              
              
          public void pauseApp() {
              }

              
              
          public void destroyApp(boolean unconditional) {
              }


              
          public void commandAction(Command command, Displayable displayable) {
                  
          if(command==exit)
                  
          {
                      destroyApp(
          false);
                      notifyDestroyed();
                  }

                  
          else if(command==start)
                  
          {
                          
          try {
                              recordstore
          =RecordStore.openRecordStore("myRecordStore",true);
                          }
           catch (RecordStoreException ex) {
                              alert
          =new Alert("Error",ex.toString(),null,AlertType.WARNING);
                              ex.printStackTrace();
                          }

                          
                          
          try
                          
          {
                                  
          byte[] outputRecord=null;
                                 String[] outputString
          ={"Adam","張生工作室","Mary","你好","張三","有鬼魂"};
                                 
          int outputInteger[]={15,10,5,78,23,32};
                                 ByteArrayOutputStream outputStream
          =new ByteArrayOutputStream();
                                 DataOutputStream outputDataStream
          =new DataOutputStream(outputStream);
                                 
          for(int i=0 ; i<outputString.length;i++)
                                 
          {
                                     outputDataStream.writeUTF(outputString[i]);
                                     outputDataStream.writeInt(outputInteger[i]);
                                     
                                     outputDataStream.flush();
                                     outputRecord
          =outputStream.toByteArray();
                                     recordstore.addRecord(outputRecord,
          0,outputRecord.length);
                                     outputStream.reset();
                                 }

                                 outputStream.close();
                                 outputDataStream.close();
                          }

                          
          catch(Exception e)
                          
          {
                              alert
          =new Alert("Error",e.toString(),null,AlertType.ERROR);
                          }

                          
                          
          try
                          
          {
                              String inputString;
                              
          byte[] byteInputData=new byte[300];
                              ByteArrayInputStream inputStream
          =new ByteArrayInputStream(byteInputData);
                              DataInputStream inputDataStream
          =new DataInputStream(inputStream);
                              
          if(recordstore.getNumRecords()>0)
                              
          {
                                  filter
          =new Filter("");
                                  recordenumeration
          =recordstore.enumerateRecords(filter,null,false);
                                  
          while(this.recordenumeration.hasNextElement())
                                      
                                  
          {
                                      recordstore.getRecord(
          this.recordenumeration.nextRecordId(),byteInputData,0);
                                      inputString
          =inputDataStream.readUTF()+" "+inputDataStream.readInt();
                                      alert
          =new Alert("Reading",inputString,null,AlertType.WARNING);
                                      alert.setTimeout(Alert.FOREVER);
                                      display.setCurrent(alert);
                                  }

                                  inputStream.close();


                              }

                          }

                          
          catch(Exception e)
                          
          {
                              
                          }

                          
          try
                          
          {
                              
          this.recordstore.closeRecordStore();
                          }

                          
          catch(Exception e)
                          
          {
                              
                          }
           
                          
          if(this.recordstore.listRecordStores()!=null)
                          
          try
                          
          {
                            RecordStore.deleteRecordStore(
          "myRecordStore");
                            filter.filterClose();
                            
          this.recordenumeration.destroy();
                          }

                          
          catch(Exception e)
                          
          {
                              
                          }

                         
                  }

              }

              
          class Filter implements RecordFilter
              
          {
                  
          private String search=null;
                  
          private ByteArrayInputStream inputstream=null;
                  
          private DataInputStream datainputstream=null;
                  
                  
          public Filter(String str)
                  
          {
                      
          this.search=str;
                      
                  }

                  
          public boolean matches(byte[] b) {
                      
                      String string
          =null;
                      
          try
                      
          {
                          String stra
          =b.toString();
                          inputstream
          =new ByteArrayInputStream(b);
                          datainputstream
          =new DataInputStream(inputstream);
                          string
          =datainputstream.readUTF();
                      }

                      
          catch(Exception e)
                      
          {
                          
          return false;
                      }

                      
          if (string!=null&&string.indexOf(this.search)!=-1)
                      
          {
                          
          return true;
                      }

                      
          else
                          
          return false;
                      
                     
                      
                  }

                  
          public void filterClose()
                  
          {
                      
          try
                      
          {
                          
          if (inputstream!=null)
                          
          {
                              inputstream.close();
                          }

                          
          if(datainputstream!=null)
                          
          {
                              datainputstream.close();
                          }

                      }

                      
          catch(Exception e)
                      
          {
                      }

                  }

                  
                  
                  
              }

          }



          張生工作室
          posted on 2007-09-10 22:22 張生工作室 閱讀(422) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 榆中县| 德兴市| 宁南县| 都兰县| 井研县| 武定县| 淮阳县| 曲水县| 岳池县| 兰坪| 尼勒克县| 神农架林区| 凌海市| 霍林郭勒市| 许昌县| 九寨沟县| 屏山县| 涟源市| 清流县| 博爱县| 遵化市| 苍梧县| 延津县| 巴楚县| 乌什县| 蕲春县| 文安县| 从江县| 方正县| 大姚县| 图们市| 甘肃省| 辽阳县| 崇义县| 游戏| 和林格尔县| 莱州市| 即墨市| 达州市| 噶尔县| 苍梧县|