charrecordstoretest.java

来自「J2ME开发实例,内含有可直接运行的源程序代码,供大家学习参考」· Java 代码 · 共 101 行

JAVA
101
字号
//CharRecordStoreTest.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.rms.* ;
public class CharRecordStoreTest extends MIDlet
	implements ItemStateListener
{
	private Display display;
	public CharRecordStoreTest ()
	{
		display = Display.getDisplay(this);
	}
	public void startApp()
	{
		String dbname = "testdb" ;
		Form f = new Form("RS Test") ;
		RecordStore rs = openRSAnyway(dbname) ;
		if( rs == null )
		{
			f.append("Table open fail") ;
		}
		else
		{
			try
			{
				String s = "这是一串字符";
				int [] ids = new int[s.length()];
				for( int i=0; i<s.length(); i++ )
					ids[i] = writeChar2RS(rs, s.charAt(i) ) ;
				for( int i=0; i<s.length(); i++ )
					f.append(""+ readChar4RS(rs,ids[i])) ;
				rs.closeRecordStore() ;
				deleteRS(dbname) ;
			}
			catch(Exception e)
			{ }
		}
		display.setCurrent(f) ;
	}
	public void pauseApp()
	{ }
	public void destroyApp(boolean unconditional)
	{ }
	public void itemStateChanged(Item item)
	{ }
	public int writeChar2RS(RecordStore rs,char data)
	{
		byte []tmp = new byte[2] ;
		tmp[0] = (byte)(0xff&( data >> 8)) ;
		tmp[1] = (byte)(0xff&( data >> 0)) ;
		try
		{
			return rs.addRecord(tmp,0,tmp.length) ;
		}
		catch(Exception e)
		{}
		return -1 ;
	}
	public char readChar4RS(RecordStore rs,int recordid)
	{
		byte []tmp = new byte[2] ;
		try
		{
			tmp = rs.getRecord(recordid) ;
		}
		catch(Exception e)
		{ }
		char result = (char)tmp[0] ;
		result = (char)((result << 8) + (char)tmp[1]) ;
		return result ;
	}
	public RecordStore openRSAnyway(String rsname)
	{
		RecordStore rs = null ;
		if(rsname.length() > 32) //名称不能太长
			return null ;
		try
		{
			rs = RecordStore.openRecordStore(rsname,true) ;
			return rs ;
		}
		catch(Exception e)
		{
			return null ;
		}
	}
	public boolean deleteRS(String rsname)
	{
		if(rsname.length() > 32)
			return false ;
		try
		{
			RecordStore.deleteRecordStore(rsname) ;
		}
		catch(Exception e)
		{
			return false ;
		}
		return true ;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?