Java ME实用程序功能

时间:2010-07-27 05:23:17

标签: java-me

JavaME在功能上非常稀少。请列出您最喜欢的实用程序函数,以便使用它更像使用适当的Java,每个答案一个。尝试使您的答案特定于Java ME。

3 个答案:

答案 0 :(得分:1)

小型日志框架

微测井 http://microlog.sourceforge.net/site/

答案 1 :(得分:0)

拆分字符串

static public String[] split(String str, char c)
{
    int l=str.length();
    int count = 0;
    for(int i = 0;i < l;i++)
    {
      if (str.charAt(i) == c)
      {
        count ++;    
      }
    }
    int first = 0;
    int last = 0;
    int segment=0;
    String[] array = new String[count + 1]; 
    for(int i=0;i<l;i++)
    {
        if (str.charAt(i) == c)
        {
            last = i;
            array[segment++] = str.substring(first,last);
            first = last;

        }
        if(i==l-1){
            array[segment++] = str.substring(first,l);
        }
    }
    return array;
}

答案 2 :(得分:0)

从阅读器中读取一行。另请参阅this question

public class LineReader{
 private Reader in;
 private int bucket=-1;
 public LineReader(Reader in){
  this.in=in;
 }

    public boolean hasLine() throws IOException{
     if(bucket!=-1)return true;
     bucket=in.read();
     return bucket!=-1;
    }

 //Read a line, removing any /r and /n. Buffers the string
 public String readLine() throws IOException{
  int tmp;
  StringBuffer out=new StringBuffer();
  //Read in data
  while(true){
   //Check the bucket first. If empty read from the input stream
   if(bucket!=-1){
    tmp=bucket;
    bucket=-1;
   }else{
    tmp=in.read();
    if(tmp==-1)break;
   }
   //If new line, then discard it. If we get a \r, we need to look ahead so can use bucket
   if(tmp=='\r'){
    int nextChar=in.read();
    if(tmp!='\n')bucket=nextChar;//Ignores \r\n, but not \r\r
    break;
   }else if(tmp=='\n'){
    break;
   }else{
    //Otherwise just append the character
    out.append((char) tmp);
   }
  }
  return out.toString();
 }
}