「java」文字列をbyte単位で切り出すサンプルコード
1.StrUtilDemo.java–文字列切り出しクラス
public class StrUtilDemo {
static String divStr(String str, Integer len, String charset) {
StringBuffer sb = new StringBuffer();
int count = 0;
try {
for (int i = 0; i < str.length(); i++) { String strMsg = str.substring(i, i + 1); byte[] b = strMsg.getBytes(charset); if (count + b.length > len) {
return sb.toString();
} else {
sb.append(strMsg);
count += b.length;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
}
2.AeStrDemo.java–メソッドを呼び出す
public class AeStrDemo {
public static void main(String[] args) {
String strEncode= “UTF-8";
String zs1 = “Java文字列をbyte単位で切り出し";
String zs2 = StrUtilDemo.divStr(zs1, 1, strEncode);
System.out.println(“message 2:" + zs2);
String zs3 = StrUtilDemo.divStr(zs1, 4, strEncode);
System.out.println(“message 3:" + zs3);
String zs4 = StrUtilDemo.divStr(zs1, 10, strEncode);
System.out.println(“message 4:" + zs4);
String zs5 = StrUtilDemo.divStr(zs1, 15, strEncode);
System.out.println(“message 5:" + zs5);
}
}
3.実行結果
message 2:J
message 3:Java
message 4:Java文字
message 5:Java文字列