necesito ayuda sobre general un archivo de texto en java

Necesito ayuda urgente porfavor con este proyecto
Se tiene q crear un archivo de texto con una lista de personas con los siguientes datos personales
Nombre, apellido, cedula, edad, sexo,
Tiene q ser máximo de 100 lineas
1. Que lea y cargue los datos desde el archivo de texto
2. Imprima los datos de la lista
3. Lea la cedula introducida por teclado por el usuario y de estar en la lista, imprima todos sus datos por pantalla. En caso de lo contrario imprima un mensaje indicando que la persona no se encuentra en la lista.
4. Imprima la frase “mayor de edad” o menor de edad dependiendo si es mayor o menor de 18 años.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Como no, aquí está

Como no, aquí está:

Esta parece una buena oportunidad
para explorar Java 8 y ver como se
escribiría en una forma "moderna"
(no necesariamente correcta)

package data;

import java.io.*;
import java.util.*;
import static java.lang.Integer.*;
import static java.lang.System.out;

// 1.   Que lea y cargue los datos desde el archivo de texto
// 2.   Imprima los datos de la lista
// 3.   Lea la cedula introducida por teclado por el usuario y de estar en la lista, imprima todos sus datos por pantalla.
//      En caso de lo contrario imprima un mensaje indicando que la persona no se encuentra en la lista.
// 4.   Imprima la frase “mayor de edad” o menor de edad dependiendo si es mayor o menor de 18 años.
class Data implements Serializable {

    public String name, lastName, id, age, gender;

    public static void main( String ... args ) throws IOException , ClassNotFoundException {

        List<Data> append = null;
        try ( ObjectInputStream ois = new ObjectInputStream(new FileInputStream("file"))) {

            // 1.
            List<Data> data = (List<Data>) ois.readObject();
            append = data;

            // 2.
            out.println("Data: " + data);

            // 3.
            Optional<Data> od = data.stream()
                .filter( e -> e.id.equals( args[0] ))
                .findFirst();

            out.println( od.isPresent() ? "Encontrado: "+ od.get() : "La persona no se encuentra en la lista" );

            //4.
            out.print(od.isPresent() && parseInt(od.get().age) > 18
               ? "mayor de edad\n"
               : od.isPresent() && parseInt(od.get().age) <= 18  
               ? "menor de edad\n"
               : "");

        } catch ( Exception e) {}

        // 5. bonus.. save data
        List<Data> l = append != null ? append : new ArrayList<Data>();
        readData().ifPresent( d -> {
            try ( ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("file")) ) {
                l.add(d);
                oos.writeObject( l );
            } catch( Exception e ){}
        });
    }
    private final static Optional<Data> readData() {
        Data d = new Data();
        System.getProperties().forEach( (k, v) -> {
            try {
                Data.class.getField((String)k).set(d,v);
            } catch(Exception e){}
        });
        return d.name != null ? Optional.of(d) : Optional.empty();
    }
    public String toString() {
        return String.format("%s, %s, %s, %s, %s%n", name, lastName, id, age, gender );
    }
}

Salida

oreyes:datos $ javac -d . Data.java
oreyes:datos $ ls
Data.java       data
oreyes:datos $ java -Dname=Leo -DlastName=Perez -Did=1 -Dage=17 -Dgender=male data.Data
oreyes:datos $ java -Dname=Leo -DlastName=Lopez -Did=2 -Dage=19 -Dgender=male data.Data
oreyes:datos $ java data.Data 1
Data: [Leo, Perez, 1, 17, male
, Leo, Lopez, 2, 19, male
]
Encontrado: Leo, Perez, 1, 17, male
menor de edad
oreyes:datos $ java data.Data 2
Data: [Leo, Perez, 1, 17, male
, Leo, Lopez, 2, 19, male
]
Encontrado: Leo, Lopez, 2, 19, male
mayor de edad
oreyes:datos $ java data.Data 3
Data: [Leo, Perez, 1, 17, male
, Leo, Lopez, 2, 19, male
]
La persona no se encuentra en la lista

gracias

lo voy a correr pense q no me habian respondido por eso la demora gracias mil gracias cualq cosa aviso