要不楼主仔细跟踪一下readF的结果,你看看你的条件是否满足。应该是逻辑上的问题。

解决方案 »

  1.   

    改成while(RWFile.read().indexOf(13)>0){...}试试
      

  2.   

    <%
    String readF =new String();
    String substr1=new String();
    readF=RWFile.read();               //RWFile.read()返回的是一文本文件的内容。
    while(readF.indexOf(13)>0 )
     {
      int length = readF.length() ;
      substr1 = readF.substring(0,readF.indexOf(13) ) ;
       out.println(substr1+"<br>") ;
      readF = readF.substring(readF.indexOf(13)+1 ,length) ;
                                             ^^^^^这里加一
     }
    %>
      

  3.   

    最后在while循环外面还得加上 out.println(readF);
    要不然会少一句,呵呵
      

  4.   

    我再java中调过,没问题啊
    另外我用的是这个readF.indexOf("\n")
      

  5.   

    你参考着改吧
    public class aa {
        public static void main(String[] args) {
            String readF = null;
            String substr1 = null;
            readF = "234\n3243\n264836\n24632\n43457";
            while (readF.indexOf("\n") > 0) {
                int length = readF.length();
                substr1 = readF.substring(0, readF.indexOf("\n"));
                System.out.println(substr1 + "<br/>");
                readF = readF.substring(readF.indexOf("\n") + 1, length);
            }
            System.out.println(readF);
        }
    }
      

  6.   

    上面输出是这个:
    234<br/>
    3243<br/>
    264836<br/>
    24632<br/>
    43457
      

  7.   

    我也调试过了,就是要加1readF = readF.substring(readF.indexOf(13)+1 ,length);