問題:在項(xiàng)目中,當(dāng)保存數(shù)據(jù)超過數(shù)據(jù)庫字段列長度限制時(shí),如何解決?
從事雅安服務(wù)器托管,服務(wù)器租用,云主機(jī),網(wǎng)頁空間,國際域名空間,CDN,網(wǎng)絡(luò)代維等服務(wù)。
一種常見的解決辦法是:截串存取。顧名思義,就是對大文本數(shù)據(jù)按指定長度進(jìn)行截取,返回結(jié)果集依截取順序存儲(chǔ)在新表中。并通過在新表中創(chuàng)建一個(gè)type字段來標(biāo)識(shí)新表中截取的內(nèi)容對應(yīng)舊表中的字段名,而舊表中相應(yīng)的字段不再直接存放大文本數(shù)據(jù),而是存放標(biāo)識(shí)符。
這里,提供一種工具類,用來分割文本字符串,返回List結(jié)果集供下一步使用。
public class StringUtil { /** * @Name: getContentByList * @Description: 字符串切割 * @Author: 張(作者) * @Version: V1.00 (版本號(hào)) * @Create Date: 2017-6-26(創(chuàng)建日期) * @Parameters: wholecontent:傳遞的文本字符串; cutcount:切割字符串的長度 * @Return: List:切割字符串形成的集合,存放結(jié)果集 */ public static List<String> getContentByList(String wholecontent,int cutcount){ List<String> list = new ArrayList<String>(); //獲取完整內(nèi)容字符串的總長度 int contentlen = wholecontent.length(); //內(nèi)容截取,用內(nèi)容總長和截取長度進(jìn)行比較,無須截取的話直接插入 if (contentlen < cutcount){ list.add(wholecontent); } //內(nèi)容長度超過截取長度 else{ //定義并初始化內(nèi)容段落 String contentpart =""; //定義并初始化被截取的段落數(shù)量 int contentround =0; //開始截取的位置 int begincount = 0; //判斷截取的段落數(shù) int contentcutpart = contentlen/cutcount; int contentcutparts = contentlen%cutcount; //求余數(shù) //若余數(shù)為0,說明被整除,內(nèi)容的長度正好是截取長度的倍數(shù)。 if (contentcutparts==0){ contentround = contentcutpart; } else{ contentround = contentcutpart+1; } //循環(huán)截取內(nèi)容 for (int i = 1; i <= contentround; i++) { //如果不是最后一個(gè)截取部分 if (i != contentround){ //按照截?cái)嚅L度截取內(nèi)容 contentpart = wholecontent.substring(begincount, cutcount*i); } else{ //截取最后一部分內(nèi)容 contentpart = wholecontent.substring(begincount, contentlen); } //賦值下一截取部分的起點(diǎn)位置 begincount = cutcount*i; list.add(contentpart); } } return list; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享標(biāo)題:java分割文本字符串的方法
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article22/gopejc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、品牌網(wǎng)站制作、App開發(fā)、云服務(wù)器、微信公眾號(hào)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)