| 网站首页 | 无线增值 | 软件下载 | 电信 | 手机 | 手机游戏 | 手机软件 | 手机电子书 | 网中游论坛 | CP.SP论坛 | 网站投稿 | 
您现在的位置: CP.SP论坛 >> 无线增值 >> 技术文章 >> J2ME技术 >> 文章正文 用户登录 新用户注册
j2me读写混合的数据类型           ★★★ 【字体:
j2me读写混合的数据类型
作者:未知    文章来源:转载    点击数:    更新时间:2008-1-26    

  在实际开发中,我们经常要向服务端发送或存储不同的数据类型,可能是1个整型,1个字符串,1个UTF格式文字,本代码简单演示不同类型数据的写入和读取过程,将不同类型的数据顺序写入读取。下面我们来看代码。
import javax.microedition.rms.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;

public class WriteReadMixedDataTypesExample 
           extends MIDlet implements CommandListener
{
  private Display display;
  private Alert alert;
  private Form form; 
  private Command exit; 
  private Command start;
  private RecordStore recordstore = null;
  public WriteReadMixedDataTypesExample ()
  {
    display = Display.getDisplay(this);
    exit = new Command("Exit", Command.SCREEN, 1);
    start = new Command("Start", Command.SCREEN, 1);
    form = new Form("Mixed Record");
    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(true);
      notifyDestroyed();
    }
    else if (command == start)
    {
      try
      {
       recordstore = RecordStore.openRecordStore(
                           "myRecordStore", true );
      }
      catch (Exception error)
      {
        alert = new Alert("Error Creating", 
                     error.toString(), null, AlertType.WARNING); 
        alert.setTimeout(Alert.FOREVER); 
        display.setCurrent(alert);
      }
      try
      {
        byte[] outputRecord;
        String outputString = "First Record";
        int outputInteger = 15;
        boolean outputBoolean = true;    
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        DataOutputStream outputDataStream = 
                    new DataOutputStream(outputStream);
        outputDataStream.writeUTF(outputString);
        outputDataStream.writeBoolean(outputBoolean);
        outputDataStream.writeInt(outputInteger); 
        outputDataStream.flush();               
        outputRecord = outputStream.toByteArray();
        recordstore.addRecord(outputRecord, 0, outputRecord.length);
        outputStream.reset();   
        outputStream.close();
        outputDataStream.close();
      }
      catch ( Exception error)
      {
        alert = new Alert("Error Writing", 
                 error.toString(), null, AlertType.WARNING); 
        alert.setTimeout(Alert.FOREVER); 
        display.setCurrent(alert);
      }
      try
      {   
        String inputString = null;
        int inputInteger = 0;
        boolean inputBoolean = false;    
        byte[] byteInputData = new byte[100]; 
        ByteArrayInputStream inputStream = new ByteArrayInputStream(byteInputData);
        DataInputStream inputDataStream = 
                 new DataInputStream(inputStream);
        for (int x = 1; x <= recordstore.getNumRecords(); x++)
        { 
         recordstore.getRecord(x, byteInputData, 0);
         inputString = inputDataStream.readUTF();
         inputBoolean = inputDataStream.readBoolean();
         inputInteger = inputDataStream.readInt();
         inputStream.reset();
        }
        inputStream.close();
        inputDataStream.close();
        alert = new Alert("Reading", inputString + " " +  
                        inputInteger + " " + 
                         inputBoolean, null, AlertType.WARNING); 
        alert.setTimeout(Alert.FOREVER); 
        display.setCurrent(alert); 
      }
      catch (Exception error)
      {
        alert = new Alert("Error Reading", 
                 error.toString(), null, AlertType.WARNING); 
        alert.setTimeout(Alert.FOREVER); 
        display.setCurrent(alert);
      }
      try
      {
        recordstore.closeRecordStore();
      }
      catch (Exception error)
      {
        alert = new Alert("Error Closing", 
                error.toString(), null, AlertType.WARNING); 
        alert.setTimeout(Alert.FOREVER); 
        display.setCurrent(alert);
      }
      if (RecordStore.listRecordStores() != null)
      {
        try
        {
           RecordStore.deleteRecordStore("myRecordStore");
        }
        catch (Exception error)
        {
           alert = new Alert("Error Removing", 
                 error.toString(), null, AlertType.WARNING); 
           alert.setTimeout(Alert.FOREVER); 
           display.setCurrent(alert);
        }
      } 
    }
  }
}

文章录入:十月    责任编辑:十月 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)