FileOutputStream открывает новый файл и удаляет содержимое при каждом его создании.

Я занимаюсь сериализацией и десериализацией в файлах. Кроме того, ям стека об использованииFileOutputStream сObjectOutputStream, Проблема в том, что у меня есть приложение чата сервера / клиента, и когда клиент подключен, сервер должен проверить, зарегистрирован ли подключенный клиент ранее. Таким образом, когда клиент подключен к серверу, сервер создает выходной поток, как

FileOutputStream fos = new FileOutputStream("src\\example\\mainList.txt");

чтобы получить связанный список, чтобы проверить, содержит ли этот список этот объект или нет. Но,FileOutputStream всегда создает новый файл без содержимого. Я знаю, если я прохожу "правда" значение в качестве второго параметра для добавления файла, но этот файл .txt должен содержать только один объект, который является связанным списком. Поэтому я не хочу добавлять список в каждый процесс. Как я могу справиться с проблемой? Я просто хочу только

Если есть указанный файл без содержимого, не делайтене читать объект, просто добавить список только в первый разЕсли существует указанный файл с содержимым (имеется в виду, что существует только один объект связанного списка), прочитайте его, добавьте нового клиента в список и запишите объект связанного списка обратно в файл.

Я надеюсь, что мне было ясно о моей проблеме, и я буду благодарен за каждый ответ. Так что в любом случае спасибо

РЕДАКТИРОВАТЬ: вот простой пример того, что яЯ пытаюсь сказать.

public class PersonTest2 {

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

        LinkedList list = new LinkedList();

        Person per = new Person("John","Thompson",22);
        Person per2 = new Person("Suzie","Cash",23);
        Person per3 = new Person("Peter","Jackson",24);
        Person per4 = new Person("Michael","Coch",25);

        list.add(per);
        list.add(per2);
        list.add(per3);
        list.add(per4);

        FileOutputStream fos = new FileOutputStream("person.txt");

        BufferedReader br = new BufferedReader(new FileReader("person.txt"));     
        if (br.readLine() == null ) {
            System.out.println("No errors, and file is empty");

        }

        ObjectOutputStream oos = new ObjectOutputStream(fos);

        oos.writeObject(list);
        fos.close();

        FileInputStream fis = new FileInputStream("person.txt");
        ObjectInputStream ois = new ObjectInputStream(fis);

        LinkedList list2;

        list2 = (LinkedList) ois.readObject();

        for (Iterator itr = list2.iterator(); itr.hasNext();) {
            Person rper = itr.next();

                System.out.println(rper.name + " " + rper.last_name + " " + rper.age);
        }
    }

}

Каждый раз, когда я запускаю этот код, FileOutputStream открывает новый файл. Тем не менее, если я используюtrue для второго параметра он добавит связанные списки.

Ответы на вопрос(2)

Ваш ответ на вопрос