자바 - 문자열의 원하는 byte만큼 자르기
IT&프로그래밍 2019. 9. 19. 17:25
프로그램 코딩 중 한글이든 영문이든 둘다 섞여 있을 경우 알맞은 size로 문자열을 잘라야 하는경우가 발생한다.
문자열을 바이트(byte)로 변환 후 원하는 사이즈로 자르면 된다.
예시 : 메소드구현부)
//st : 문자열
//cutLeng : 커트 할 길이
public String byteCuter(String st, int cutLeng){
if(st.toString().getBytes().length > cutLeng){
StringBuilder stringBuilder = new StringBuilder(cutLeng);
int nCnt = 0;
for(char ch:st.toString().toCharArray()){
nCnt += String.valueOf(ch).getBytes().length;
if(nCnt > cutLeng) break;
stringBuilder.append(ch);
}
return stringBuilder.toString() + ".."; //나머지부분 ..으로 표기
}else{
return st;
}
}
예시 : 호출부)
byteCuter(targetName.toString(), 100);
*예외(Exception)발생 시 저장하려할때 원하는 길이만큼만 자를땐 StringWriter를 사용하면된다.
예시)
StringWriter stringWriter = new StringWriter(); //StringWriter 인스턴스 생성
e.printStackTrace(new PrintWriter(stringWriter)); //stringWriter에 담기
byteCuter(stringWriter.toString(), 4000); //stringWriter 문자열을 4000까지 자르기
자바 버전에 따라 StringBuilder 대신 StringBuffer를 사용해도 된다.
'IT&프로그래밍' 카테고리의 다른 글
Intellij IDEA 2020.1.2 버전 다운로드 (0) | 2020.12.14 |
---|---|
svn: error: The subversion command line tools are no longer provided by Xcode. 발생시 (0) | 2020.08.06 |
자바 - dto 또는 vo의 가변적(변수) 필드명으로 value 가져오기 (0) | 2019.09.19 |
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools) 발생 시 (0) | 2018.11.23 |
안드로이드 - android:scaleType (0) | 2018.11.07 |