Re-use of read/write object , for multiple objects
Based on the comments, I think you're confused about actually saving/loading distinct ClubInfo objects. You can call writeObject and readObject multiple times, but you need to store those ClubInfo objects in separate files if you want to persist them.

What you could do is add a ClubInfo parameter to your Serialize method, then name the file you save based on the clubName. By doing this, you don't tie down your serialize method to one instance of ClubInfo...you can pass in any ClubInfo object and it will save it to a different output file:

public void Serialize(ClubInfo club) {

  String fileName = club.teamName + ".ser";

  try {
    FileOutputStream fileOut = new FileOutputStream("/home/cg/root/" + fileName);
    ObjectOutputStream out = new ObjectOutputStream(fileOut);

    out.writeObject(club);
    out.close();
    fileOut.close();

    System.out.println("Serialized data is saved in C:/tmp/club.ser");

    } catch(IOException i) {
        i.printStackTrace();
    }
  }
}


This is close to your original code. A few things I would change:


Assuming you're using Java 7 or newer, use the try-with-resources feature so you don't explicitly have to call close() on your streams.
I would have the thread throw the IOException that's required instead of handling it inside the method itself. It makes the method cleaner and you can handle the exception in different ways, depending on where and how you call it.


Here's how it looks afterwards:

public void Serialize(ClubInfo club) throws IOException {

  String fileName = "/home/cg/root/" + club.teamName + ".ser";

  try (FileOutputStream fileOut = new FileOutputStream(fileName);
       ObjectOutputStream out = ObjectOutputStream out = new ObjectOutputStream(fileOut)) {
    out.writeObject(club);
    System.out.println("Serialized data is saved in C:/tmp/club.ser");
    } 
  }
}


And to call it:

case 2: 
    Serialize saveclub1 = new Serialize();
    try {
      saveclub1.Serialize(club1);
    } catch(IOException e) {
      System.out.println("Error saving club!");
    }

    exit = true;    
    break;


You can do the same-ish thing with Deserialize. I would pass in the teamName I want to search for, get a list of files from the directory I am persisting the objects to and look for the file name that contains the team name. Then call readObject and return it from the Deserialize method. The method signature would look like this:

public ClubInfo Deserialize(String teamName)


Then your method isn't tied to the single club file. 

This should also lead you in the direction you should take in saving the game state. I'll leave that to you to figure the guts out, but that should get you in the right direction!