根据jive论坛的类我做的一个处理的方法 给你看看 希望有启发 读入数据库的时候,转化一下 public static final String escapeHTMLTags(String in, boolean isTrue) { if (in == null) { return ""; } char[] input = in.toCharArray(); char ch; int i = 0; int last = 0; int len = input.length; StringBuffer out = new StringBuffer( (int) (len * 1.3)); for (; i < len; i++) { ch = input[i]; if (ch == '<') { if (i > last) { out.append(input, last, i - last); } last = i + 1; out.append(LT_ENCODE); } else if (ch == '>') { if (i > last) { out.append(input, last, i - last); } last = i + 1; out.append(GT_ENCODE); } else if (ch == '\'') { if (i > last) { out.append(input, last, i - last); } last = i + 1; out.append("\"".toCharArray()); } else if (ch == (char) 13) { if (isTrue) { if (i > last) { out.append(input, last, i - last); } last = i + 1; out.append("<br>".toCharArray()); } else if (ch > '>') { continue; } } } if (last == 0) { return in; } if (i > last) { out.append(input, last, i - last); } return out.toString(); } 读出来的时候再进行恢复 /** * Unescapes the String by converting XML escape sequences back into normal * characters. * * @param string the string to unescape. * @return the string with appropriate characters unescaped. */ public static final String unescapeFromXML(String string) { string = replace(string, (char) 13 + "", "<br>"); string = replace(string, "<", "<"); string = replace(string, ">", ">"); string = replace(string, """, "\""); return replace(string, "&", "&"); }
MEMO 字段是一个文本信息,
比如:我如何取得以5行的字符串?
给你看看
希望有启发
读入数据库的时候,转化一下
public static final String escapeHTMLTags(String in, boolean isTrue) {
if (in == null) {
return "";
}
char[] input = in.toCharArray();
char ch;
int i = 0;
int last = 0;
int len = input.length; StringBuffer out = new StringBuffer( (int) (len * 1.3));
for (; i < len; i++) {
ch = input[i];
if (ch == '<') {
if (i > last) {
out.append(input, last, i - last);
}
last = i + 1;
out.append(LT_ENCODE);
}
else if (ch == '>') {
if (i > last) {
out.append(input, last, i - last);
}
last = i + 1;
out.append(GT_ENCODE);
}
else if (ch == '\'') {
if (i > last) {
out.append(input, last, i - last);
}
last = i + 1;
out.append("\"".toCharArray());
}
else if (ch == (char) 13) {
if (isTrue) { if (i > last) {
out.append(input, last, i - last);
}
last = i + 1;
out.append("<br>".toCharArray());
}
else if (ch > '>') {
continue;
}
} }
if (last == 0) {
return in;
}
if (i > last) {
out.append(input, last, i - last);
}
return out.toString();
}
读出来的时候再进行恢复
/**
* Unescapes the String by converting XML escape sequences back into normal
* characters.
*
* @param string the string to unescape.
* @return the string with appropriate characters unescaped.
*/
public static final String unescapeFromXML(String string) {
string = replace(string, (char) 13 + "", "<br>");
string = replace(string, "<", "<");
string = replace(string, ">", ">");
string = replace(string, """, "\"");
return replace(string, "&", "&");
}
可以直接将值传到数据库
然后调用上面的unescapeFromXML(ResultSet.getString("MEMO"))方法
就可以分行
因为分行是通过(char) 13或者是(char)10分的