截取字符串,含有汉字和字母,不能截半个汉字

package njupt.cn;
/*****
* 截取字符串,含有汉字和字母,不能截半个汉字
*/

import java.io.UnsupportedEncodingException;

public class five {
public static void main(String[] args){
String s="我ABC汉字DEF";
int n=4;
try {
String str=cutString(s,n);
System.out.println(str);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public static String cutString(String s, int n) throws UnsupportedEncodingException {
// TODO Auto-generated method stub
if(s!=null&&"".equals(s)){

s=new String(s.getBytes(),"GBK");

}
StringBuffer buffer=new StringBuffer();
if (n!=0&&n<s.getBytes("GBK").length){

char c;
for(int i=0;i<n;i++){
c=s.charAt(i);
System.out.println("char c="+c);
buffer.append(c);

if(five.isChinese(c)){
--n;
}
}

}
return buffer.toString();

}

private static boolean isChinese(char c) throws UnsupportedEncodingException {
// TODO Auto-generated method stub
if(String.valueOf(c).getBytes("GBK").length>1){
return true;
}
else{
return false;}
}

}

posted @ 2016-07-05 16:31  chengzheng  阅读(501)  评论(0编辑  收藏  举报