Pq meu método não funciona?

Gente, eu tô lendo um arquivo que termina com a sequencia hexadecimal ffff… mas eu não sei pq não tah entrando no primeiro laço, alguém pode me ajudar?

public void readCharLine(RandomAccessFile fis)throws IOException {
       int depth=(char)fis.read();
       char thisChar=(char)fis.read();
       int previous;
       int line;
       int bin;
       String hex="";
       while(!(hex.equals("ffff"))){
           hex=Integer.toHexString((int)thisChar);
           bin=(int)thisChar;
           previous = bin;
           if(bin==0 && previous <127){
               line=0;
               thisChar=(char)fis.read();
               bin=(int)thisChar;
               while (bin>127) {
                   line=(line+bin-128)*128;
                   previous = thisChar;
                   thisChar=(char)fis.read();
                   bin=(int)thisChar;
               }
               line=line+bin;
               System.out.println("Linha: "+line);
           }//end if
            previous=thisChar;
            thisChar=(char)fis.read();
       }//end while
   }//end method

Obrigada!

Muito estranho não estar entrando no primeiro laço.
Vamos esperar mais respostas aí da galera.

MAs vc debugou e tem certeza que a execução esta chegando ate a verificacao do loop?

O metodo esta realmente sendo chamado?

se sim tem certeza que o problema nao ta nesses pontos?

int  depth=(char)fis.read();  
char thisChar=(char)fis.read();  

O problema nao esta na verificacao do loop.

Ao invés de RandomAcessFile você não poderia usar File? Qual a vantagem dele sobre esta classe?