Leyendo un archivo de texto en java, ¿por qué está saltando líneas?

Soy nuevo aquí y solo estoy luchando para intentar leer un archivo de texto. En cada línea hay una palabra y un código numérico correspondiente. La idea es leerlo y colocar el código y la palabra en variables separadas. No sé mucho sobre esta área, pero he estado buscando en línea y se me ocurrió lo siguiente:

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

El problema es que la primera línea del archivo de texto no se lee. Y luego se salta una línea cada vez! (En otras palabras, solo se leen las líneas 1, 3, 5, 7, etc.)

Como dije anteriormente, soy nuevo y no sé mucho acerca de todas las cosas diferentes que vi en diferentes sitios en línea (por ejemplo, por qué todo está almacenado en un búfer Esto o almacenado en un búfer, o cómo usar todos los elementos del tokenizer correctamente) Intenté algunas cosas diferentes en diferentes momentos, y terminé con esto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta