자바 텍스트 문자열 분할 방법

문제:프로젝트 에서 데이터 저장 이 데이터베이스 필드 열 길이 제한 을 초과 할 때 어떻게 해결 합 니까?
흔히 볼 수 있 는 해결 방법 은 스 트 립 액세스 입 니 다.말 그대로 큰 텍스트 데 이 터 를 지정 한 길이 로 캡 처 하고 결과 집합 을 캡 처 순서 로 새 표 에 저장 하 는 것 이다.또한 새 표 에 type 필드 를 만들어 서 새 표 에서 캡 처 한 내용 이 오래된 표 의 필드 이름 에 대응 하 는 것 을 표시 합 니 다.오래된 표 에 해당 하 는 필드 는 큰 텍스트 데 이 터 를 직접 저장 하지 않 고 식별 자 를 저장 합 니 다.
텍스트 문자열 을 분할 하고 다음 단계 에 사용 할 수 있 도록 도구 클래스 를 제공 합 니 다.

public class StringUtil {

  /** 
  * @Name: getContentByList
  * @Description:      
  * @Author:  (  )
  * @Version: V1.00 (   )
  * @Create Date: 2017-6-26(    )
  * @Parameters: wholecontent:        ;
          cutcount:        
  * @Return: List:          ,     
  */
  public static List<String> getContentByList(String wholecontent,int cutcount){
    List<String> list = new ArrayList<String>();
    //             
    int contentlen = wholecontent.length(); 
    //    ,              ,          
    if (contentlen < cutcount){ 
      list.add(wholecontent);
    }
    //          
    else{
      //          
      String contentpart ="";
      //              
      int contentround =0;
      //       
      int begincount = 0; 
      //        
       int contentcutpart = contentlen/cutcount; 
      int contentcutparts = contentlen%cutcount; //   
      //    0,     ,               。
      if (contentcutparts==0){
        contentround = contentcutpart;
      }
      else{
        contentround = contentcutpart+1;
      }
      //      
      for (int i = 1; i <= contentround; i++) {
        //            
        if (i != contentround){
          //          
          contentpart = wholecontent.substring(begincount, cutcount*i);
        }
        else{
          //         
          contentpart = wholecontent.substring(begincount, contentlen);
        }
        //             
         begincount = cutcount*i; 
         list.add(contentpart);
      }
    }
    return list;
  }
}      
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기