public class ContentSplitter {
public static int defaultCharactersPerLine = 50;
public static int defaultLines = 3;
public static String split(String content) {
return ContentSplitter.split(content, 0, 0);
}
public static String split(String content, int charactersPerLine, int lines) {
if (charactersPerLine == 0)
charactersPerLine = defaultCharactersPerLine;
if (lines == 0)
lines = defaultLines;
StringBuffer sb = new StringBuffer();
String contentLeft = content;
for (int l = 1; l <= lines; l++) {
if (contentLeft.length() < charactersPerLine) {
sb.append(contentLeft);
break;
} else {
if (l == lines) {// if current line is the last given line
int si = contentLeft.substring(0, charactersPerLine - 1).lastIndexOf(' ');
sb.append(contentLeft.subSequence(0, si));
} else {
if (contentLeft.charAt(charactersPerLine + 1) == ' ') {
sb.append(contentLeft.substring(0,charactersPerLine - 1));
contentLeft = contentLeft.substring(charactersPerLine - 1);
} else {
int si = contentLeft.substring(0, charactersPerLine - 1)
.lastIndexOf(' ');
sb.append(contentLeft.subSequence(0, si));
contentLeft = contentLeft.substring(si);
}
}
}
}
String brief = sb.toString();
//System.out.println("brief:"+brief);
return brief;
}
}
public static int defaultCharactersPerLine = 50;
public static int defaultLines = 3;
public static String split(String content) {
return ContentSplitter.split(content, 0, 0);
}
public static String split(String content, int charactersPerLine, int lines) {
if (charactersPerLine == 0)
charactersPerLine = defaultCharactersPerLine;
if (lines == 0)
lines = defaultLines;
StringBuffer sb = new StringBuffer();
String contentLeft = content;
for (int l = 1; l <= lines; l++) {
if (contentLeft.length() < charactersPerLine) {
sb.append(contentLeft);
break;
} else {
if (l == lines) {// if current line is the last given line
int si = contentLeft.substring(0, charactersPerLine - 1).lastIndexOf(' ');
sb.append(contentLeft.subSequence(0, si));
} else {
if (contentLeft.charAt(charactersPerLine + 1) == ' ') {
sb.append(contentLeft.substring(0,charactersPerLine - 1));
contentLeft = contentLeft.substring(charactersPerLine - 1);
} else {
int si = contentLeft.substring(0, charactersPerLine - 1)
.lastIndexOf(' ');
sb.append(contentLeft.subSequence(0, si));
contentLeft = contentLeft.substring(si);
}
}
}
}
String brief = sb.toString();
//System.out.println("brief:"+brief);
return brief;
}
}