2010-07-27 23 views
2

JavaME在功能上相当稀疏。请列出您最喜欢的实用程序函数,使其更像使用适当的Java,每个答案一个。尝试使您的答案专用于Java ME。Java ME实用功能

+0

参见:这个问题(http://stackoverflow.com/questions/3340954/java-me-utility-functions/3524999# 3524999) – Casebash 2010-08-20 00:03:54

回答

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; 
} 
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(); 
} 
} 
1

小日志框架

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

+1

这将是更好的答案:[这个问题](http://stackoverflow.com/questions/2422555/java-me-libraries)而不是 – Casebash 2010-08-20 00:03:07

+0

噢!我没有正确阅读这个问题! – Azlam 2010-08-20 19:03:10