你把“\r\n”写成“\n\r”怎么能匹配到呢?????????

解决方案 »

  1.   

    在读出表单,写入数据库后程序会自动记录换行的字符并放入到数据库中,但读出来显示时回车换行却被忽略了。这里定义了addBr方法对读出的数据字符串采用了用<br>置换/n的方式。奇怪的是置换完成以后字符串虽然能够换行了,却每行多了一些“:”分隔符号,所以又定义了RemoveComment()方法将“:”处理掉。在java中处理带分隔符数据的方式是,提供了一个系统类java.util.StringTokenizer来进行处理。例如StringTokenizer(String content,String delim)将在字符串content的基础上创建一个StringTokenizer对象,并用delim来作为新的分隔符,如果省略delim,则以系统缺省的分隔符来作为原来各分隔符的替代。实际上还有第三个参数,true/false,如果为true则返回值还包含分隔符本身。可以加以省略。关于Token的另一些方法,如public String nextToken(), public bolean hasMoreTokens(), public int countTokens()等,请参考有关java书籍手册。这次将代码写入了bean中(在Utility.java中),代码如下:**********************************************************************package mydb;import java.io.*;
    import java.util.*;public class Utility{//去掉奇怪的:
    public String RemoveComment(String Content){
    String makeContent=new String();
    StringTokenizer strToken=new StringTokenizer(Content,"
    ");
    String tempToken=null;while(strToken.hasMoreTokens()){
    tempToken=strToken.nextToken();
    if(tempToken.indexOf(":")!=0)
    makeContent=makeContent+tempToken+"
    ";
    }return makeContent;
    }//将/n转换成为回车<br>
    public String addBr(String Content){
    String makeContent=new String();
    StringTokenizer strToken=new StringTokenizer(Content,"
    ");
    while(strToken.hasMoreTokens()){
    makeContent=makeContent+"<br>"+strToken.nextToken();
    }
    return makeContent;
    }
    }
      

  2.   

    如果只要页面显示,不想影响界面,可以有一个得意的办法,就是让指定多长换行,就行了
    假定85个字符换行,字段名为cont
    while (rs.next()){
     String s=rs.getString("cont"); 
    int row=(s.length())/85;
      for (int j=0;j<row;j++)
       {String   files=s.substring(j*85,(j+1)*85);
       out.println("<TR><TD>"+files+"</TD></tr>");}
         
                                
                                                   }