Lendo um arquivo de texto em java - por que ele está pulando linhas?

Eu sou novo aqui e apenas lutando com a tentativa de obter um arquivo de texto lido. Em cada linha há uma palavra e um código numérico correspondente. A ideia é lê-lo e colocar o código e a palavra em variáveis ​​separadas. Eu não sei muito sobre esta área, mas eu tenho procurado online e descobri o seguinte:

try{
    FileReader freader=new FileReader(f); 
    BufferedReader inFile=new BufferedReader(freader);
    while (inFile.readLine()!=null){
       String s=null;
       s=inFile.readLine();
       System.out.println(s);
               String[] tokens=s.split(" ");
       string=tokens[0];
       System.out.println(string);
       code=tokens[1];
       System.out.println(code);
       c.insert(string, code);
    }//end outer while
}//end try

A questão é que a primeira linha do arquivo de texto não é lida. E então ele pula uma linha toda vez! (Em outras palavras, apenas a 1ª, 3ª, 5ª, 7ª linhas, etc. são lidas)

Como eu disse acima, eu sou novo, e eu não sei muito sobre todas as coisas diferentes que vi em sites diferentes online (como por que tudo é bufferedThis ou bufferedThat, ou como usar todas as coisas do tokenizer corretamente). Eu estava tentando algumas coisas diferentes em momentos diferentes e acabei com isso.

questionAnswers(2)

yourAnswerToTheQuestion