Attached below is my main method where I am running into a few snags.
1st I am attempting to use the createFile method to check to see if a photo is found. If the photo is found (indicated by the file name the user enters) it is then supposed to return the photo data with the toString method from the photo class I have written. The problem with this is I do not know where this fits logically into the sequence of events, I am aware it should be using an if statement or similar loop but I need help with that part
The second problem I am running into is with saving the data entered to album.dat. I have got a rough setup and the problem I am running into is if a user enters multiple photos it simply writes over the first and only saves one photo's meta data. If someone would be so kind as to point me in the right direction I would greatly appreciate it thank you.
As for writing data to a file, you are better off doing all the writing, with a buffered method, opening one writer (decorated with the file, etc) and closing it in a finally block at the end. Not writing one photo and then creating a new writer.
Many writers have a flag which can be set in the constructor so as to append the text rather than overwriting. You will have to go through the API documentation and look for such features.
I think one of your problems is that you are trying to do too much all at once. You should be reading the photos from a file, getting the Photo objects set up and displaying them as a test of the method before you go anywhere near writing. Then you would know what is going on. You would then not have written a method called readPhoto which claims to return the Photo, but also in the background, tries to write the data to a file. Think object-oriented. Get all the photos read, get them stored somewhere (most easily in a suitable list), then you can consider writing them. Remember the Photo object encapsulates all the data you require, so you can retrieve everything later.