是不是可能循环有问题?
程序这一段是这样的
      RandomAccessFile file = new RandomAccessFile(Frame.fns,"r");
      long filepointer = 0;
      long filelength = file.length();
      while(filepointer<filelength){
        codeline = file.readLine();        this.changeFlag(codeline);
        if (fieldflag!=1)
          continue;
        if (isFor(codeline))
          continue;
        if (!hasEnd(codeline))
          continue;
        getKeyWord(codeline);
        System.out.println("郁闷");        filepointer = file.getFilePointer();
      }

解决方案 »

  1.   

    好像没有什么错误,那你只好在这个方法里面打印一些东西来看看,里面在什么地方出错。
    另外,看看你的Viriable()方法有没有执行。在getKeyword()方法前打印一个东东看看
      

  2.   

    Viriable()肯定是执行了,我跟踪过,它只是到了第一次执行完getKeyWord()之后就自动跳出了while循环,不知道是怎么回事儿
      

  3.   

    在打印一下codeline这个字符串,看看,是不是空格有大于1个。如果空格只有一个的,当然只会while一次了
      

  4.   

    多谢牦牛兄相助,问题已经解决,可能是因为我的那些if写的有问题吧,我把他们都改成else if之后就好了,在这之前我试着加了一个try-catch块捕捉异常,发现如果那些if语句没有发现自己想要的值就会抛出一个异常,如果不捕捉的话,它就直接在调用getKeyWord之后跳出循环了。(可能是解释器自作主张?)
    多谢多谢,50分奉送仁兄:)