[Squirrel-sql-commits] sql12/fw/src/net/sourceforge/squirrel_sql/fw/util StringUtilities.java, 1.2
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2007-03-24 19:38:29
|
Update of /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/util In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv6136/fw/src/net/sourceforge/squirrel_sql/fw/util Modified Files: StringUtilities.java Log Message: Useful utility method for segmenting a string into smaller ones. I tried using this (unsuccessfully) to resolve the issue with loading large documents. Still, this seems like it might be useful later so it's still here. Index: StringUtilities.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/fw/src/net/sourceforge/squirrel_sql/fw/util/StringUtilities.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StringUtilities.java 10 Mar 2007 14:27:44 -0000 1.2 --- StringUtilities.java 24 Mar 2007 19:38:23 -0000 1.3 *************** *** 204,206 **** --- 204,230 ---- return result.toString(); } + + public static String[] segment(String source, int maxSegmentSize) { + ArrayList<String> tmp = new ArrayList<String>(); + if (source.length() <= maxSegmentSize) { + return new String[] { source }; + } + boolean done = false; + int currBeginIdx = 0; + int currEndIdx = maxSegmentSize; + while (!done) { + String segment = source.substring(currBeginIdx, currEndIdx); + tmp.add(segment); + if (currEndIdx >= source.length()) { + done = true; + continue; + } + currBeginIdx = currEndIdx; + currEndIdx += maxSegmentSize; + if (currEndIdx > source.length()) { + currEndIdx = source.length(); + } + } + return tmp.toArray(new String[tmp.size()]); + } } |