public class PersonProgram {

    private Person hal, marit, jens, anne;
    private List<Person> personer;

    public void init() {
        hal = new Person1("Hallvard", "Trætteberg");
        marit = new Person2("Marit Reitan");
        jens = new Person2("Jens Trætteberg");
        anne = new Person1("Anne", "Reitan");
        personer = new ArrayList<Person>(Arrays.asList(hal, marit, jens, anne));
    }
    private void writePerson(Person p, PrintWriter writer) {
        writer.println(p.getFullName());
    }
    private Person readPerson(BufferedReader reader) throws IOException {
        String line = reader.readLine();
        return new Person2(line);
    }
    
    public void run() {
        System.out.println("Ut: " + personer);
        try {
            PrintWriter writer = new PrintWriter("personer.txt");
            for (Person person : personer) {
                writePerson(person, writer);
            }
            writer.close();
        } catch (FileNotFoundException e) {
        }
        
        Collection<Person> innlestePersoner = new ArrayList<Person>();
        try {
            BufferedReader reader = new BufferedReader(new FileReader("personer.txt"));
            while (reader.ready()) {
                innlestePersoner.add(readPerson(reader));
            }
            reader.close();
        } catch (FileNotFoundException e) {
        } catch (IOException e) {
        }
        System.out.println("Inn: " + innlestePersoner);
    }
    public static void main(String[] args) {
        PersonProgram program = new PersonProgram();
        program.init();
        program.run();
    }
}