'2016/09/29'에 해당되는 글 1건

  1. 2016.09.29 String 바이트 길이로 잘라서 배열로 반환
카테고리 없음2016. 9. 29. 18:01
반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
private static String[] makeArrayToString(String manageContentsSub, int mmsTextSize) {
        if(manageContentsSub == null){
            return null;
        }
        String[] arrayStr = null;
        try {
            byte[] contentsBytes = manageContentsSub.getBytes("UTF-8");
            int contentLength = contentsBytes.length;
            if (contentLength > mmsTextSize){
                int aryLength = (contentLength / mmsTextSize) + (contentLength % mmsTextSize != 0 ? 1 : 0);
                arrayStr = new String[aryLength];
                int endCharIndex = 0;
                String tmp;
                for(int i = 0; i < aryLength; i++){
 
                    if(i == (aryLength - 1)){
                        tmp = manageContentsSub.substring(endCharIndex);
                    }else{
                        int useByteLength = 0;
                        int rSize = 0;
                        for (; endCharIndex < manageContentsSub.length(); endCharIndex++) {
                            if(manageContentsSub.charAt(endCharIndex) > 0x007F){
                                useByteLength += 2;
                            }else{
                                useByteLength++;
                            }
                            if(useByteLength > mmsTextSize){
                                break;
                            }
                            rSize++;
                        }
                        tmp = manageContentsSub.substring((endCharIndex - rSize), endCharIndex);
                    }
                    arrayStr[i] = tmp;
                }
            }else{
                arrayStr = new String[] { manageContentsSub };
            }
        }catch(java.io.UnsupportedEncodingException exception){
            System.out.println("UnsupportedEncodingException : "+exception);
        }
        return arrayStr;
    }
cs


Posted by 1010