Below is part of my code:

Java Code:
import java.util.ArrayList;
import java.io.IOException;
import java.io.*;

public class ReferenceManager
{
    private ArrayList<Project> allProject;

    public ReferenceManager()
    {
        allProject = new ArrayList<Project>();
    }

    public void addProject(Project theProject)
    {
        allProject.add(theProject);
    }

    public void ListProject()
    {
        System.out.println("List of all Projects\n");
        for(Project project : allProject)
        {
            project.printProjectDetails();
        }
    }

    public void saveAllProject() throws IOException
    {
        try {
            PrintWriter pw = new PrintWriter(new FileWriter("Project"));
            for(Project theProject : allProject) {
                pw.println(theProject);
            }
            pw.close();
        }
        catch(IOException e) {
            System.err.println("Error: " + e.getMessage());
        }
    }

public void loadReference() throws IOException
    {
         try{
            BufferedReader reader = new BufferedReader(new FileReader("Project"));
            String theProject = reader.readLine();
            while(theProject != null) {
                addProject(theProject);
                theProject = reader.readLine();
            }
            reader.close();
        }
        catch(FileNotFoundException e) {
            System.err.println("Project file could not be found");
        }
        catch(IOException e) {
            System.err.println("Could not read from Project file");
        }
    }
}
So I've been able to write allProject to a file but it come to reading it I'm having a problem. In the last method "loadReference" i declare theProject as a String and when I add the String to the addProject arraylist project, I got an error. Is there a way to get the string added to the object arraylist. I'm kind of stuck