Hola, esto es muy facil de hacer, te dejo un fragmento de codigo mio que te va a ayudar bastante:
Cita: String datos[];
BufferedReader inputStream = null;
ArrayList<Object> lista=new ArrayList<>();
String nombreFichero = "abc.txt";//la direccion en donde tienes el fichero
File fn = new File(nombreFichero);
inputStream = new BufferedReader(new FileReader(nombreFichero));
String l="";
while ((l = inputStream.readLine()) != null) {
datos=l.split(" ");
lista.add(datos);
}// este while es el mas importante, ya que le dices que cada vez que haya un espacio te guarde la información en un espacio dentro del arreglo, mientras haya lines que leer.
System.out.println(""+lista.size());
inputStream.close();
si pones esto en el main con la direccion de tu fichero, vas a tener las 4 columnas en una lista, ahora como tu quieres trabajar únicamente con la primera y ultima fila, tendrias que crear un entidad con 4 parámetros y agregarías a lista de esta manera lista.add( new nombreentidad(datos[0].datos[1],datos[2],datos[3])), asi ya puedes manipular los datos 0 y 3. ahora si no quieres una lista en el while puedes trabajar con cada arreglo de dato[].