对RMS中的数据进行排序

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

import Javax.microedition.rms.*;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

import java.io.*;

public class SortExample extends MIDlet implements CommandListener

{

private Display display;

private Alert alert;

private Form form;

private Command exit;

private Command start;

private RecordStore recordstore = null;

private RecordEnumeration recordEnumeration = null;

private Comparator comparator = null;

public SortExample ()

{

display = Display.getDisplay(this);

exit = new Command("Exit", Command.SCREEN, 1);

start = new Command("Start", Command.SCREEN, 1);

form = new Form("Mixed RecordEnumeration", null);

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

{

String outputData[] = {"Mary", "Bob", "Adam"};

for (int x = 0; x < 3; x++)

{

byte[] byteOutputData = outputData[x].getBytes();

recordstore.addRecord(byteOutputData, 0,

byteOutputData.length);

}

}

catch ( Exception error)

{

alert = new Alert("Error Writing",

error.toString(), null, AlertType.WARNING);

alert.setTimeout(Alert.FOREVER);

display.setCurrent(alert);

}

try

{

StringBuffer buffer = new StringBuffer();

Comparator comparator = new Comparator();

recordEnumeration = recordstore.enumerateRecords(

null, comparator, false);

while (recordEnumeration.hasNextElement())

{

buffer.append(new String(recordEnumeration.nextRecord()));

buffer.append("\n");

}

alert = new Alert("Reading", buffer.toString() ,

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

recordEnumeration.destroy();

}

catch (Exception error)

{

alert = new Alert("Error Removing",

error.toString(), null, AlertType.WARNING);

alert.setTimeout(Alert.FOREVER);

display.setCurrent(alert);

}

}

}

}

}

class Comparator implements RecordComparator

{

public int compare(byte[] record1, byte[] record2)

{

String string1 = new String(record1),

string2= new String(record2);

int comparison = string1.compareTo(string2);

if (comparison == 0)

return RecordComparator.EQUIVALENT;

else if (comparison < 0)

return RecordComparator.PRECEDES;

else

return RecordComparator.FOLLOWS;

}

}

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

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