读写混合的数据类型

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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);

}

}

}

}

}

(出处:http://www.knowsky.com)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航